【发布时间】:2018-12-21 06:00:29
【问题描述】:
在我的 Android 应用中,我使用 Android NDK 通过执行以下操作来播放音乐:
- 使用Vorbis library从OGG文件中提取音频样本
- 处理音频样本
- 使用Oboe library将处理后的样本重定向到音频输出
为了避免欠载,我在一个单独的线程中执行前 2 个步骤,以提前提取和处理声音(它会增加一点延迟,但这对我的应用程序来说不是问题)。该解决方案在我迄今为止测试过的每台设备上都非常有效。
但由于某种原因,当我将设备与蓝牙扬声器配对并播放音乐时,在三星 S7 或诺基亚 1 等设备上(但并非在每台设备上)似乎都有一些问题。
这个错误在我看来是如此随机,以至于我不知道从哪里开始。它就像蓝牙连接使用了很多 CPU,所以我的应用程序没有足够的资源来正常运行。
有没有人经历过类似的事情?我是否应该在我的代码中做任何事情来处理蓝牙连接,使其不使用 CPU(例如避免音频重采样)?
感谢您的帮助。
【问题讨论】:
标签: c++ android-ndk android-bluetooth