【发布时间】:2015-08-19 19:47:28
【问题描述】:
AVPlayer 不播放用 AVAudioRecorder 录制的 .aif 文件。我目前的流程是:
- AVAudioSession.sharedInstance 的类别设置为 AVAudioSessionCategoryPlayAndRecord
- AVAudioRecorder 使用应用程序文档目录中的 NSURL 实例化,设置格式为 kAudioFormatAppleIMA4,比特率为 32000,1 通道,采样率为 16000.0。
- 音频被录制,然后停止。该文件已保存,我可以在应用程序的文档目录中找到它并验证音频是否已正确录制。
- AVPlayer 的实例使用文件的 NSURL 进行实例化。将观察者添加到此对象以注册对其状态的更改。当 AVPlayer ReadyToPlay 时,我调用 play 函数。
但是,尽管控制流到达了 AVPlayerStatus.ReadyToPlay 并调用了播放,但没有产生声音。我正在检查错误并验证 NSURL 中文件的存在和属性。我还尝试通过实例化 AVAsset、AVPlayerItem 和 AVPlayer 来遵循 this SO post 的过程。没有运气。
对于为什么 AVPlayer 不为这个新录制的本地文件播放音频有什么想法吗?
edit:该应用是为带有 Xcode 7 beta 5 的 iOS 9 构建的。该应用能够播放使用 AVPlayer 流式传输的音频文件。
【问题讨论】:
-
我遇到了一个非常相似的问题,当我尝试在模拟器上播放时它起作用了。但是,播放无法在设备上运行,我不知道为什么。音频文件的编码或解码没有错误。
标签: ios swift avplayer avaudiorecorder