2012-09-30 6 views
7

AVFoundationを使用してosxに動画を表示したいです。実行時に生データからムービーを初期化したいと思います。この文書によれば、https://developer.apple.com/library/mac/#technotes/tn2300/_index.htmlAVAssetは、QTKitのQTMovieに相当します。 QTMovieには、のビデオからデータを読み込むための関数movieWithData:error:がありますが、AVAssetには何も見つかりませんでした。だから、同じことを可能にするのはAVFoundationココア:生データ(つまりNSData)からのA​​VAs

は、私は生データからAVAssetインスタンスを初期化するためのユニークな可能性がファイルとして前にデータを保存することです怖いあなたに

答えて

1

ありがとうございます。 AVAssetとそのサブクラスでは、コンストラクタでのみURLが使用されています。

3
NSString *tempFilePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"tmp.mp3"]; 

NSFileManager *manager = [NSFileManager defaultManager]; 
[manager createFileAtPath:tempFilePath contents:mp3Data attributes:nil]; 

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:[NSURL fileURLWithPath:tempFilePath] options:nil]; 

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ 
      [manager removeItemAtPath:tempFilePath error:nil]; 
     }); 
関連する問題