iphone dev получает миниатюру видео (фрейм) из MPMoviePlayerController - PullRequest
1 голос
/ 01 марта 2012

каждый раз, когда я пытаюсь получить видеокадр или миниатюру из URL-адреса видео, но мне это не удается, вот мой код

- (void)viewDidLoad {
    thumbnailimg = [[UIImageView alloc]init];
    movie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=ec9KXrpYvzk"]];
    //UIImage *singleFrameImage = [movie thumbnailImageAtTime:10 
                                                 //timeOption:MPMovieTimeOptionExact];
    //thumbnailimg.image = singleFrameImage;

    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
    [nc addObserver:self selector:@selector(handleThumbnailImageRequestFinishNotification:) 
               name:MPMoviePlayerThumbnailImageRequestDidFinishNotification
             object:movie];
    NSNumber * time =[NSNumber numberWithInt:10];


    NSArray *times = [NSArray arrayWithObjects:time,nil];
    [movie requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionExact];



    [super viewDidLoad];
}


-(void)handleThumbnailImageRequestFinishNotification:(NSNotification*)note
{

        NSDictionary *userinfo = [note userInfo];
        NSMutableDictionary *event = [NSMutableDictionary dictionary];
        NSError* value = [userinfo objectForKey:MPMoviePlayerThumbnailErrorKey];
        if (value!=nil)
        {

            [event setObject:[value description] forKey:@"error"];
        }
        else 
        {

            UIImage *image = [userinfo valueForKey:MPMoviePlayerThumbnailImageKey];
            thumbnailimg.image = image;

        }
        [event setObject:[userinfo valueForKey:MPMoviePlayerThumbnailTimeKey] forKey:@"time"];


}

даже handleThumbnailImageRequestFinishNotification не запускается, плз.скажите что я делаю не так и как это исправить, спасибо заранее, С уважением Саад

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Невозможно прочитать видео с YouTube с помощью MPMoviePlayerController, попробуйте использовать другое видео (из списка воспроизведения m3u8 или файла MP4).

0 голосов
/ 19 августа 2014

Просто хотел сказать, что времена должны быть представлены как float, а не int.Замена:

NSNumber * time =[NSNumber numberWithInt:10];

на:

NSNumber * time =[NSNumber numberWithFloat:10.0f];

Возможно, что-то исправлю.

Аналогичный ответ: https://stackoverflow.com/a/17870972

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...