Как я могу добавить изображения-заполнители в мои встроенные видео Vimeo и Youtube? - PullRequest
0 голосов
/ 07 июня 2011

Я успешно внедрил встроенные видео 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 Ответ

0 голосов
/ 07 июня 2011

Подход, который мы использовали для видео на YouTube, следующий (я думаю, вы можете сделать что-то похожее с vimeo).

Что вам нужно сделать, это установить просмотр изображений поверх веб-просмотра, который должен отображать уменьшенное изображение вашего видео vimeo (это я понимаю из вашего вопроса).

Вы можете получить миниатюры изображений с помощью 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 будет скрывать веб-просмотр и кнопку на нем, чтобы начать воспроизведение, вам нужно будет выполнить действие, когда вы нажмете на 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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...