mp3的持续时间返回零

时间:2013-05-12 15:51:38

标签: iphone ios avfoundation avurlasset

我想从互联网上获取mp3文件的持续时间,我使用以下代码:

NSURL *url = [NSURL fileURLWithPath:@"http://view.33591.com:586/2012/11/30/11/4207369.mp3"];    
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:url
                                            options:nil];
CMTime time = asset.duration;
float seconds = CMTimeGetSeconds(time);
NSLog(@"seconds:%f",seconds);

但它总是返回0,如果我将url从bundle更改为本地文件,它可以正常工作。那么有没有办法正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

NSURL *url = [NSURL fileURLWithPath:@"http://view.33591.com:586/2012/11/30/11/4207369.mp3"];

您提供的URL不是文件系统路径。请改用[NSURL URLWithString:],然后阅读NSURL类的documentation ,特别是您要使用的方法。

  

fileURLWithPath:

     

初始化并返回新创建的NSURL对象作为具有指定路径的文件URL。

(强调我的)