2012-04-23 10 views
1

MPMediaItemをNSDataに変換してデータベースに保存しました。そのNSDataをMPMediaItemに変換してmediaplayerでその曲を再生する必要があります。 はNSDataのにMPMediaItemを変換するためのコードの下に使用される:nsdataをMPMediaItemに変換する方法iOS Sdk

NSURL *url = [song valueForProperty: MPMediaItemPropertyAssetURL]; 

AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL: url options:nil]; 

AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset: songAsset 
                    presetName: AVAssetExportPresetPassthrough]; 

exporter.outputFileType = @"public.mpeg-4"; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *exportFile = [documentsDirectory stringByAppendingPathComponent:   
         @"exported.mp4"]; 

NSURL *exportURL = [[NSURL fileURLWithPath:exportFile] retain]; 
exporter.outputURL = exportURL; 

// do the export 
// (completion handler block omitted) 
[exporter exportAsynchronouslyWithCompletionHandler: 
^{ 
    NSData *data = [NSData dataWithContentsOfFile: [documentsDirectory 
                stringByAppendingPathComponent: @"exported.mp4"]]; 


}]; 

誰がどのようにMPMediaItemへのNSDataを変換する方法を教えてくださいすることができます。

+0

誰でもこの質問にお答えください – user1300511

+0

申し訳ありませんが、同じコードを使用してMPMediaItemからNSData.butに変換しましたが、これは私のside.doで動作していません。 – iChirag

答えて

1

できません。 MPMediaItemはiPodライブラリのアイテムを表しますが、サードパーティのアプリケーションはそのライブラリに何も追加できません。

ただし(名前にだまされてはいけません、それはまた、音声のみのファイルを再生することができます)ファイルにあなたのNSDataオブジェクトを作成し、その後、AVPlayerItem/AVPlayerまたはMPMoviePlayerControllerのいずれかでそのURLを使用することができます。

+0

あなたの返信ありがとう...私の保存NSDataオブジェクトでAVPlayerを使用して曲を再生するいくつかのコードを投稿してください...非常に便利です – user1300511

+2

どのようにMPMediaItemのNSDataを取得するには? – Rajneesh071

関連する問題