2011-07-30 20 views
2

ALAssetsLibraryからすべてのビデオアセットを取得しています(ネイティブカメラアプリから記録されているものすべて)。私はその後、各ビデオにこれを行い、各ビデオ資産に列挙を実行しています:ALAsset URLから作成した場合、AVAssetにトラックや再生時間がありません

// The end of the enumeration is signaled by asset == nil. 
      if (alAsset) { 

       //Get the URL location of the video 
       ALAssetRepresentation *representation = [alAsset defaultRepresentation]; 
       NSURL *url = [representation url]; 

       //Create an AVAsset from the given URL 
       NSDictionary *asset_options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:AVURLAssetPreferPreciseDurationAndTimingKey]; 
       AVAsset *avAsset = [[AVURLAsset alloc] initWithURL:url options:asset_options];//[AVURLAsset URLAssetWithURL:url options:asset_options]; 

       //Here is the problem 
       NSLog([NSString stringWithFormat:@"%i", [avAsset.tracks count]]); 
       NSLog([NSString stringWithFormat:@"%f", CMTimeGetSeconds(avAsset.duration)]); 
      } 

のNSLogは、私は私のALAssetから得ているAVAssetが0のトラックがあり、0.0秒の持続時間を有することを報告しています。私はURLをチェックして、それは正しいと思われる "assets-library://asset/asset.MOV?id = 9F482CF8-B4F6-40C2-A687-0D05F5F25529 & ext = MOV"です。 alAssetは実際にはビデオであり、正しいビデオであることはわかっています。なぜなら、私はalAsset.thumbnailを表示していて、ビデオの正しいサムネイルが表示されているからです。

これはすべて、avAssetの初期化で何か問題が起こっていると思いますが、私の人生にとって何がうまくいかないのか分かりません。誰でも助けてくれますか?

更新:

私はそれが私に正しいサムネイルを与えるので、奇妙である、ALAssetRepresentationによって私に与えられたURLに障害があることが確認できたと思います。私はまだそれを引き起こすかわからないんだけど

0 
Error Domain=NSCocoaErrorDomain Code=4 "The operation couldn’t be completed. (Cocoa error 4.)" UserInfo=0x19df60 {} 

:それは私にこれを与え

NSLog([NSString stringWithFormat:@"%i", [url checkResourceIsReachableAndReturnError:&error]]); 
NSLog([NSString stringWithFormat:@"%@", error]); 

:私はこのコードを追加しました。私が気付いている唯一の事は、urlです。これは "assets-library://asset/asset.MOV?id = 9F482CF8-B4F6-40C2-A687-0D05F5F25529 & ext = MOV"です。私はこれを探し回っていたので。他の場所で見たものは、 "assets-library://asset/asset.MOV?id = 1000000394 & ext = MOV"のようになり、英数字のダッシュで区切られた名前ではなく数字で示されます。

私が役に立ったら、私はXCode 4.2 BetaとiOS5を使っています。あなたが何かを考えることができるかどうか私に教えてください。ありがとう。

答えて

0

これはiOS5 beta v1のバグだったようです。私は最新にアップグレードし、それは働いた。私の質問を見た人に感謝します。

+0

iOS 7でも問題ありませんか?私はios7で問題がある。 –

関連する問題