iPhoneのカメラからキャプチャした.movファイルからサムネイルを取得しようとしています。私は現在、ムービーをアプリケーションのドキュメント部分に保存しています。 [Asset duration]を呼び出すと、nullオブジェクトが返されます。また、copyCGImageAtTime:actualtime:errorメソッドを呼び出そうとすると、nullオブジェクトも返されます。私はこれを理解しようとする時間を少なくしました。私は私のコードを別のメインセクションに移動させてみました。私はまた、運がないシミュレータ上で実行しようとしました。コードは次のとおりです。AVURLAssetとAVAssetImageGeneratorはヌル画像を返します
NSString* destinationPath = [NSString stringWithFormat:@"%@/aaa/aaa.mov", [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]];
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL URLWithString:destinationPath] options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(0.0, 600);
NSError *error2 = nil;
CMTime actualTime;
CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error2];
UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
CGImageRelease(image);
また、そのフォルダの下にムービーが存在することを確認しました。どんな助けでも大歓迎です。感謝:)
--Edit--
はcopyCGImageAtTimeからエラーがAVUnknownエラーであることを言及するのを忘れていました。
--Edit2-- 問題が見つかりました。私はURLの先頭にfile://を含めなかった。それは今働く。
URLWithStringではなく[NSURL fileURLWithPath:destinationPath]を使用してください。 – malhal
indiekidukが最高の解決策を出しました;) – Climbatize
問題が見つかりましたがコードは少し醜いです [NSURL fileURLWithPath:path] –