2011-01-29 19 views
0

私はビデオURLからサムネイル画像を作成しようとしています。 AV Foundationプログラミングガイドを使用しています。 私のプロジェクトにはボタンと画像ビューがあります。ボタンを押すと、サムネイル画像がuiimageviewにロードされます。 私のコードは、それはだ、動作しないことができる。ビデオURLからサムネイル画像を作成!

- (IBAction) btnClick : (id)sender 
{ 

    NSURL *url = [NSURL URLWithString:@"http://www.youtube.com/watch?v=bgN62D70VLk"]; 

    AVURLAsset *myAsset = [[AVURLAsset alloc] initWithURL:url options:nil]; 

    AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:myAsset]; 

    Float64 durationSeconds = CMTimeGetSeconds([myAsset duration]); 

    CMTime midpoint = CMTimeMakeWithSeconds(durationSeconds/2.0, 600); 

    NSError *error = nil; 

    CMTime actualTime; 

    CGImageRef halfWayImage = [imageGenerator copyCGImageAtTime:midpoint actualTime:&actualTime error:&error]; 

    if (halfWayImage != NULL) { 

     NSString *actualTimeString = (NSString *)CMTimeCopyDescription(NULL, actualTime); 

     NSString *requestedTimeString = (NSString *)CMTimeCopyDescription(NULL, midpoint); 

     NSLog(@"got halfWayImage: Asked for %@, got %@", requestedTimeString, actualTimeString); 

     [actualTimeString release]; 

     [requestedTimeString release]; 

     // Do something interesting with the image. 

     CGImageRelease(halfWayImage); 

    } 

    UIImage *image = [UIImage imageWithCGImage:halfWayImage]; 
    [imageView setImage:image]; 
    [imageGenerator release]; 

} 

は、この問題のために私を助けてください! ありがとう!

答えて

0

MPMoviePlayerControllerは、これを処理するためにいくつかの方法があります -

thumbnailImageAtTime:timeOption: 

requestThumbnailImagesAtTimes: timeOption: 

cancelAllThumbnailImageRequests: 
0

私はあなたのコード内のいくつかの問題を参照してください。

  • http://www.youtube.com/watch?v=bgN62D70VLkをウェブページのURLですが、AVAssetsは、ビデオまたはオーディオでなければなりませんファイル。注:YouTubeは動画ファイルのURLを広告しません。
  • [myAsset duration]の呼び出しがブロックされます。代わりに、AVAsynchronousKeyValueLoadingプロトコルを使用する必要があります(loadValuesAsynchronouslyForKeysを参照)。
  • リリース後に半角イメージを使用しています。

WWDC 2010のAVFoundationセッションを見て、セッションのサンプルコードを確認することをお勧めします。

0

これは非常に遅いですが、この質問にお答えする他の人に役立ちます。

同じ問題についてはthis答えを参照して、希望は他の人に役立つでしょう。

関連する問題