如何将占位符图像添加到嵌入的 Vimeo 和 Youtube 视频中?

Posted

技术标签:

【中文标题】如何将占位符图像添加到嵌入的 Vimeo 和 Youtube 视频中?【英文标题】:How can i add placeholder images to my embedded Vimeo and Youtube videos? 【发布时间】:2011-06-07 09:54:53 【问题描述】:

我已经成功地将嵌入的 vimeo 视频实现到我的应用程序中,但是我想在视频不播放时创建占位符图像作为视频的覆盖。有没有人知道如何做到这一点?

    #import "FifthDetailViewController.h"

@interface FifthDetailViewController (Private)

- (void)embedVimeoInWebView:(NSString *)urlString webView: (UIWebView *)aWebView;

@end

@implementation FifthDetailViewController




@synthesize toolbar;
@synthesize videoOne;


#pragma mark -
#pragma mark View lifecycle

- (void) viewDidLoad

    [super viewDidLoad];


    [self embedVimeoInWebView:@"http://player.vimeo.com/video/19967404" webView:videoOne];





- (void)embedVimeoInWebView:(NSString *)urlString webView:(UIWebView *)aWebView 
    NSString *embedhtml = @"\
    <html><head>\
    <style type=\"text/css\">\
    body \
    background-color: transparent;\
    color: white;\
    \
    </style>\
    </head><body style=\"margin:-2\">\
    <iframe src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"%0.0f\" height=\"%0.0f\"></iframe>\
    </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString,  aWebView.frame.size.width, aWebView.frame.size.height];
    //UIWebView *aWebView = [[UIWebView alloc] initWithFrame:frame];
    [aWebView loadHTMLString:html baseURL:nil];

    //----Disable Scroll UIWebView----

    [[[aWebView subviews] lastObject] setScrollEnabled:NO];
    //[mainView addSubview:aWebView];
    //[self.mainView addSubview:videoView];
    [aWebView release];




- (void)dealloc 
    [toolbar release];
    [super dealloc];
   
@end

这是我目前所拥有的。

【问题讨论】:

【参考方案1】:

我们对 youtube 视频采取的方法如下(我想你可以用 vimeo 做类似的事情)。

您需要做的是在 webview 顶部设置一个 imageview,它应该显示您的 vimeo 视频的缩略图 img(这是我从您的问题中了解到的)。

您可以使用 Vimeo API 检索缩略图图像

 To get data about a specific video, use the following url:

http://vimeo.com/api/v2/video/video_id.output

video_id The ID of the video you want information for.

output Specify the output type. We currently offer JSON, php, and XML formats.

您将获得三个缩略图,一个用于不同大小(小、中、大)。

由于您的 imageView 将隐藏 webview 及其上的按钮以开始播放,因此您需要在点击 uimageview 时执行一个操作(或仅在顶部设置一个 uibutton)。然后,选择器应该这样调用:

    **
 * When webview has loaded, send an action to itself so it starts the video
 * playback automatically
 */
- (void)webViewDidFinishLoad:(UIWebView *)_webView 
  _webView.hidden = NO;
  UIButton *b = [self findButtonInView:_webView];
  [b sendActionsForControlEvents:UIControlEventTouchUpInside];


- (IBAction) playVideo:(id)sender 
  NSString *key = [NSString stringWithFormat:@"%d", [sender tag]];
  UIWebView *youtubeView =
    [[UIWebView alloc] initWithFrame:CGRectMake(-180, 100, 160, 80)];
  youtubeView.tag = 3000;
  youtubeView.hidden = YES;
  [self.tableView addSubview:youtubeView];

  [self embedYouTubeIntoWebview:youtubeView withURL:[[self.nodeCollection objectForKey:
                                                      key] valueForKey:@"videoURL"]
                        inFrame:youtubeView.frame];
    [youtubeView release];

【讨论】:

以上是关于如何将占位符图像添加到嵌入的 Vimeo 和 Youtube 视频中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS Swift 中播放 Vimeo 视频?

如何在 Next.js 中添加自定义图像占位符?

在 SwiftUI 中向 TextField/SecureField 添加图像,向占位符文本添加填充

如何将占位符文本添加到 ToolStripTextBox?

将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?

使用 VBA 将 Excel 中的图表嵌入到 Powerpoint 中的指定占位符中