gpt4 book ai didi

ios - AVPlayer 不播放用 AVAudioRecorder 录制的文件 — Swift

转载 作者:行者123 更新时间:2023-11-28 13:08:19 28 4
gpt4 key购买 nike

AVPlayer 不播放用 AVAudioRecorder 录制的 .aif 文件。我目前的流程是:

  1. AVAudioSession.sharedInstance 的类别设置为 AVAudioSessionCategoryPlayAndRecord
  2. AVAudioRecorder 使用应用文档目录中的 NSURL 和 kAudioFormatAppleIMA4 格式设置、比特率 32000、1 个 channel 和采样率 16000.0 进行实例化。
  3. 录音,然后停止。文件已保存,我可以在应用程序的文档目录中找到它并验证音频是否已正确录制。
  4. AVPlayer 的一个实例是用文件的 NSURL 实例化的。观察者被添加到该对象以注册其状态的变化。当 AVPlayer 准备好播放时,我调用播放功能。

然而,尽管控制流到达 AVPlayerStatus.ReadyToPlay 点并调用播放,但没有声音产生。我正在检查错误并验证 NSURL 文件的存在性和属性。我也试过遵循 this SO post 的过程通过实例化 AVAsset、AVPlayerItem 和 AVPlayer。运气不好。

对于为什么 AVPlayer 没有为这个新录制的本地文件播放音频有什么想法吗?

编辑:该应用程序是为带有 Xcode 7 beta 5 的 iOS 9 构建的。该应用程序能够播放使用 AVPlayer 流式传输的音频文件。

最佳答案

问题不是由 AVAudioRecorder 或 AVPlayer 引起的。我的录制 URL 是一个 NSURL,我称之为 fileURL。我将此 NSURL 传递给不同的 View Controller ,但 AVPlayer 在使用 fileURL 实例化时不会播放。当

fileURL.checkResourceIsReachableAndReturnError(&error)

因错误“文件不存在”而失败。相反,我使用新记录文件的路径实例化了一个新的 NSURL:

let url = NSURL(fileURLWithPath: path)

通过这个 url,我能够实例化并播放 AVPlayer 的一个实例。

关于ios - AVPlayer 不播放用 AVAudioRecorder 录制的文件 — Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32104383/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com