使用 AVAudioPlayer

问题描述

我在 macOS Big Sur 上的 XCode 12.3 中遇到一些奇怪的控制台错误,因为我正在编写一个从光盘播放 mp3 文件的 macOS 应用程序。这些消息不会导致我的应用程序崩溃或表现不佳。这些消息在应用程序执行期间只出现一次,所以我只是在寻找一种方法来清理控制台并摆脱这些消息。

我在 Player 类中将来自 AVFoundation 的 AVAudioPlayer 声明为

var player:AVAudioPlayer?

在播放器对象上调用 prepareToPlay 方法时:

do {
    player = try AVAudioPlayer(contentsOf: url)
    player?.delegate = self
    if player?.prepareToPlay() != nil {
     // non-relevant code
    }
} catch {
    print("Error")
}

我收到以下两条控制台消息:

[plugin] AddInstanceForFactory:没有为 ID F8BB1C28-BAE8-11D6-9C31-00039315CD46 注册的工厂
未找到已保存的启用硬件采样率转换器首选项

我不知道这些是什么意思。我研究了第一条消息,但没有找到任何解决方案来解决它。但是,第二条消息似乎与我正在播放的 mp3 的 sampleRate 相关联。问题是,设置输入/输出采样率似乎必须通过 AVAudioSession 完成,这不适用于 macOS 应用程序。至少这是 XCode 告诉我的。

我没有看到为 AVAudioPlayer 对象设置采样率的方法。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)