Iphone 无法将MPMediaItem(mp3歌曲)转换为NSData
我尝试了以下代码: 以下是我对MPMediPickerController的委托方法:Iphone 无法将MPMediaItem(mp3歌曲)转换为NSData,iphone,ios,xcode,ios6,Iphone,Ios,Xcode,Ios6,我尝试了以下代码: 以下是我对MPMediPickerController的委托方法: - (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection { // Dismiss the media item picker. [self dismissModalViewControllerAn
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection {
// Dismiss the media item picker.
[self dismissModalViewControllerAnimated: YES];
NSLog(@"%@ %d",mediaItemCollection,mediaItemCollection.count);
NSArray *newMediaItem= [mediaItemCollection items];
MPMediaItem *item=[[newMediaItem objectAtIndex:0] retain];
[self uploadMusicFile:item];
}
这是我对NSData的自定义方法MPMediaItem:
- (void) uploadMusicFile:(MPMediaItem *)song
{
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;
[exporter exportAsynchronouslyWithCompletionHandler:
^{
NSData *data = [NSData dataWithContentsOfFile: [documentsDirectory
stringByAppendingPathComponent: @"exported.mp4"]];
NSLog(@"%@",data);
}];
}
我在NSlog中得到“null”
我还查看了以下帖子:
但没有得到解决方案
我使用的是xcode 4.6和ios 6.1
有谁能告诉我这里出了什么问题吗?在该方法中,还有哪些变量是
nil
?检查此项以找到根本原因。您的代码看起来像来自以下问题。你也读了答案吗?是的,我已经提到它没有得到解决我在这篇文章中使用了AveExportSession。因为我使用的导出会话条件是否已完成。核实一下。否则,请在导出会话之前打印该文件数据。您有解决方案吗?