如何将nsdata转换为MPMediaitem歌曲iOS Sdk

时间:2012-04-23 07:29:47

标签: iphone objective-c xcode mpmediaitem

我将MPMediaItem转换为NSData并将其存储在数据库中,现在我必须将该NSData转换为MPMediaItem以在mediaplayer中播放该歌曲。   在代码下面用于将MPMediaItem转换为NSData:

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"]];


 }];

任何人都可以告诉我如何将NSData转换为MPMediaItem。

1 个答案:

答案 0 :(得分:1)

你做不到。 MPMediaItem表示iPod库中的项目,但第三方应用无法向该库添加任何内容。

然而,您可以将NSData对象写入文件,然后将其网址与AVPlayerItem / AVPlayerMPMoviePlayerController一起使用(不要被名称所欺骗) ,它也可以播放纯音频文件。)