【发布时间】:2011-06-21 13:32:04
【问题描述】:
我的应用从我们的服务器下载 mp3 并将其播放给用户。该文件为 64 kbps(如果我理解正确,这在 iPhone 可接受的范围内)。我在几十个网站上查找了如何做到这一点,他们都建议我这样做:
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://.../file.mp3"]];
NSError *e = nil;
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithData:data error&e];
[player setDelegate:self];
当我运行代码时,播放器返回 null 并且我收到此错误:
2011-02-04 10:44:46.176 MyApp[6052:207] Error loading audio: Error Domain=NSOSStatusErrorDomain Code=1954115647 "The operation couldn’t be completed. (OSStatus error 1954115647.)"
2011-02-04 10:44:49.647 MyApp[6052:207] unsupported file type
我已经检查了该文件,并且知道它可以正常工作。它可以在 Windows Media Player 和 Mac 上的 Quicktime 上正常播放。我也将文件上传到 iPhone 模拟器,它播放没有任何问题。该文件很好,但由于某种原因 AVAudioPlayer 不喜欢它。
有什么我需要改变的吗? NSData 是否有某种设置来指定它是哪种文件?有人知道吗?
【问题讨论】:
标签: iphone ios mp3 avaudioplayer