即使链接似乎正确,也无法通过 AVPlayer 打开远程音频文件
Posted
技术标签:
【中文标题】即使链接似乎正确,也无法通过 AVPlayer 打开远程音频文件【英文标题】:Unable to open remote audio file via AVPlayer, even though the link seems to be correct 【发布时间】:2014-03-12 06:36:20 【问题描述】:我正在尝试构建一个简单的流应用程序,现在我正在使用这个简单的代码 sn-p 向 AVPlayer 提供一个文件的直接链接(例如 this one):
_player = [AVPlayer playerWithURL:[NSURL URLWithString:@"(file url here)"]];
[_player play];
但是,它什么也没播放,所以我尝试了 The Amazing Audio Engine 之类的第 3 方组件,但出现以下错误:
AEAudioFileLoaderOperation.m:121: ExtAudioFileOpenURL result -43
据我了解,它无法通过提供的 url 打开文件。但是,我尝试在浏览器中打开相同的 url,它运行良好(即使在设备上)。
我应该在哪里寻找这个错误的根源?还有其他方法可以播放/提供 mp3 文件以进行流式传输吗?
【问题讨论】:
【参考方案1】:试试AVAudioPlayer
。如果您的项目启用了 ARC,则不应将播放器声明为局部变量。它应该被声明为一个属性。否则,ARC 将在播放器有机会播放之前解除分配。
【讨论】:
啊,我的错,我确实将它用作属性,我将更改上面的代码 但是,根据我的阅读,AVAudioPlayer 不应该用于远程文件,因此 AVPlayer 哎呀,你是绝对正确的。我只将它与文件一起使用。 developer.apple.com/library/ios/qa/qa1634/_index.html【参考方案2】:请忽略这个问题,我刚刚意识到我打开了静音模式,实际上一切正常。在我的辩护中,我应该说摇动音量按钮不会做出任何改变,你必须首先以某种方式关闭静音模式。
【讨论】:
【参考方案3】:来自 Apple 文档:要为文件系统路径创建 NSURL 对象,请改用 fileURLWithPath:isDirectory:
【讨论】:
以上是关于即使链接似乎正确,也无法通过 AVPlayer 打开远程音频文件的主要内容,如果未能解决你的问题,请参考以下文章