pbo*_*dsk 9 macos objective-c ios swift avaudioengine
我有一个应用程序,我用它AVAudioEngine来使用AVAudioPlayerNodes和从本地文件系统播放文件AVAudioFiles.这完全没问题.
现在我想让我的设置也支持从互联网上的服务器流式传输MP3文件.
到目前为止我尝试过的
我希望我可以从NSURL指向网络地址的对象创建某种缓冲区,然后我可以使用它AVAudioPlayerNode.
我一直在搜索Stack Overflow和互联网,但没有找到任何有关如何实现这一目标的好建议.
我知道这个AVAudioEngine阵容包括:
AVAudioFile或的音频AVAudioBuffer.我AVAudioFile今天已经用于我的"本地文件设置"了.AVAudioFile,用于本地文件.'AVAudioFile'是使用'NSURL'创建的,所以我尝试使用指向服务器上的MP3文件的URL,就像在Playground中一样:
var fileError: NSError? = nil
let file = AVAudioFile(forReading: someURL, error: &fileError)
if fileError != nil {
    fileError
}
这会给我带来这个错误的回报:
Error Domain=com.apple.coreaudio.avfaudio Code=2003334207 "The operation couldn’t be completed. (com.apple.coreaudio.avfaudio error 2003334207.)" UserInfo=0x7fbfab424480 {failed call=ExtAudioFileOpenURL((CFURLRef)fileURL, &_extAudioFile)}
我的问题(只是为了说清楚:-))
那些有光明的人知道如何使用AVAudioEngine从互联网上的服务器流式传输MP3文件吗?
或者我应该放弃并使用AVPlayer它?
期待您的回音.
Apple 的文档没有指定它是否可以与在线托管的 mp3 一起使用,但是当我尝试使用AVAudioFilemp3 url 初始化它时,它会立即崩溃并出现致命异常。我认为这回答了你的问题。
| 归档时间: | 
 | 
| 查看次数: | 1552 次 | 
| 最近记录: |