【问题标题】:How to get NSData of mp3 using MPMediaPickerController?如何使用 MPMediaPickerController 获取 mp3 的 NSData?
【发布时间】:2013-04-24 15:03:40
【问题描述】:

我想将 mp3 从我的手机上传到服务器,为此我使用MPMediaPickerController

在获取MPMediaItem 的 URL 后,我想获取此 url 的 NSData,但我在 NSData 中得到了 null。

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection
{
    [self dismissViewControllerAnimated:YES completion:nil];

    MPMediaItem *item=[[mediaItemCollection items] objectAtIndex:0];
    NSURL *url = [item valueForProperty: MPMediaItemPropertyAssetURL];
    NSString *path = [NSString stringWithFormat:@"%@",url];
    NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
}

我也试过了

NSData *data = [NSData dataWithContentsOfURL:url];

但是数据是空的,为什么?

我也试过NOt able to convert from MPMediaItem(mp3 song) to NSData 但没有得到结果。

谁能指导我获取mp3的NSData。

提前致谢。

【问题讨论】:

  • 如果您需要知道失败的原因,请使用 dataWithContentsOfURL:options:error:。
  • Error Domain=NSCocoaErrorDomain Code=256 “操作无法完成。(Cocoa 错误 256。)” UserInfo=0x1cd051b0 {NSURL=ipod-library://item/item.mp3?id =-4848947984816581540}
  • 该 URL 仅适用于 AVFoundation; NSData 将无法使用 NSURL 做任何事情。

标签: iphone ios objective-c alassetslibrary mpmediapickercontroller


【解决方案1】:

看看这个库:https://github.com/tapsquare/TSLibraryImport它可以将非 DRM 项目从 iPod 音乐库转换为 mp3 文件,然后您可以将它们保存或用作 NSData 进行进一步处理。

【讨论】:

  • 你能告诉我如果我想把它转换成 NSData 我应该怎么做?目前我正在使用 NSMutableData *outputData = [[NSMutableData alloc]initWithContentsOfURL:outURL];但它不在服务器端播放。如果可能,请提供帮助。提前致谢
猜你喜欢
  • 1970-01-01
  • 2012-04-06
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-25
  • 1970-01-01
  • 2017-11-05
相关资源
最近更新 更多