2013-01-12 4 views
7

MPMoviePlayerControllerを使用して、選択したビデオファイルから複数の画像を抽出しようとしています。以下は私が書いたコードです。ここでMPMoviePlayerControllerを使用してビデオから複数の画像を取得できません。 OSStatus -12433

movie = [[MPMoviePlayerController alloc] initWithContentURL:[info objectForKey:UIImagePickerControllerMediaURL]]; 

NSNumber *time1 = [NSNumber numberWithInt:1]; 
NSNumber *time2 = [NSNumber numberWithInt:3]; 
NSNumber *time3 = [NSNumber numberWithInt:5]; 

NSArray *times = [NSArray arrayWithObjects:time1,time2,time3,nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleThumbnailImageRequestFinishNotification:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:movie]; 

[movie requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionExact]; 

通知

-(void)handleThumbnailImageRequestFinishNotification:(NSNotification*)note 
    { 
    NSDictionary *userinfo = [note userInfo]; 
    NSError* value = [userinfo objectForKey:MPMoviePlayerThumbnailErrorKey]; 

    if (value!=nil) 
    { 
     NSLog(@"Error: %@", [value debugDescription]); 
    } 
    else 
    { 
     _imageView.image = [userinfo valueForKey:MPMoviePlayerThumbnailImageKey]; 
    } 
    } 

のハンドラは、しかし、私は次のようなエラーメッセージが表示されますされています

Error: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x1d8a63d0 {NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x1d8b7b50 "The operation couldn’t be completed. (OSStatus error -12433.)", NSLocalizedFailureReason=An unknown error occurred (-12433)} 

誰もがOSStatusエラー-12433の説明を知っていますか? OSStatusのエラーコードに関するドキュメントを検索しようとしましたが、失敗しました。

ご協力いただければ幸いです。

答えて

0

AVAssetImageGenerator

が判明、私は正確に同じエラーOSStatus -12433を得ていたと私は使用していますを使用して、私の問題が発生したことをやります私がサムネイルを要求していた時代までに。以下は、動作する時間とそのエラーを起こした時間の例です。

CMTime timeGivesError = CMTimeMakeWithSeconds(0.0, 0.0); 
CMTime timeWorks = CMTimeMakeWithSeconds(0.0, 1.0); 
CGImageRef image = [gen copyCGImageAtTime:timeWorks actualTime:&actualTime error:&error]; 

あなたの時間を調整し、機能する別のオプションがあるかどうかを確認します。

3

私はそう浮かぶとして回を追加する必要がありました:

NSNumber *time1 = [NSNumber numberWithFloat:1.f]; 
+1

これは、それが私のために働かせました。 [self.videoPlayer requestThumbnailImagesAtTimes:@ [@(1.f)] timeOption:MPMovieTimeOptionNearestKeyFrame]; – user1270061

関連する問題