我想从互联网上获取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更改为本地文件,它可以正常工作。那么有没有办法正确地做到这一点?
答案 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。
(强调我的)