2011-10-30 6 views
3

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://を含めなかった。それは今働く。

+2

URLWithStringではなく[NSURL fileURLWithPath:destinationPath]を使用してください。 – malhal

+0

indiekidukが最高の解決策を出しました;) – Climbatize

+0

問題が見つかりましたがコードは少し醜いです [NSURL fileURLWithPath:path] –

答えて

8

問題が見つかりました。私はURLの冒頭にfile://を含めなかった。それは今働く。

関連する問題