7

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

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 Error -12433 の説明を知っている人はいますか? OSStatus エラー コードに関するドキュメントを検索しようとしましたが、うまくいきませんでした。

どんな助けでも大歓迎です。

4

3 に答える 3

3

フロートとして時間を追加する必要があったため、次のようにしました。

NSNumber *time1 = [NSNumber numberWithFloat:1.f];
于 2013-07-26T00:25:46.893 に答える
0

まったく同じエラーが発生OSStatus -12433し、使用していますAVAssetImageGenerator

私の問題は、私がサムネイルをリクエストしたことが原因であることがわかりました。以下は、動作する時間とエラーが発生した時間の例です。

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

私はあなたの時間を調整してみて、うまくいく別のオプションがあるかどうかを確認します.

于 2013-03-13T17:52:45.687 に答える
0

ライブラリ iFrameExtractor https://github.com/lajos/iFrameExtractorを使用してそれを行います

これが役立つことを願っています

于 2013-02-13T05:02:45.690 に答える