混合 CoreAudio 和 OpenAL 代码时,iOS 麦克风采样在设备上不起作用

发布于 2024-12-22 22:58:14 字数 562 浏览 1 评论 0原文

我尝试编写一个应用程序,使用 http://code.google 中的代码对麦克风进行采样。 com/p/ios-coreaudio-example/(核心音频), 并使用 https://github.com/hollance/SoundBankPlayer (OpenAL) 中的代码播放声音。

在模拟器上运行时效果很好,但在真实设备上测试时 - 麦克风采样不起作用(IosAudioController 中的 RecordCallback 永远不会被调用)。

当我禁用 SoundBankPlayer 代码(不实例化新的 SoundBankPlayer,因此不使用 OpenAL 代码)时,麦克风采样工作得很好。

在同一项目中混合 OpenAL 和 Core Audio 代码是否存在已知的限制?如果是这样 - 有解决方法吗?如果不是 - 还有什么问题?

I tried writing an app that samples the microphone using code from http://code.google.com/p/ios-coreaudio-example/ (Core Audio),
and plays sounds using code from https://github.com/hollance/SoundBankPlayer (OpenAL).

This works fine when running on simulator, but when testing on a real device - microphone sampling doesn't work (the recordingCallback in the IosAudioController never gets called).

When I disable the SoundBankPlayer code (do not instantiate a new SoundBankPlayer, therefore no OpenAL code is used), the microphone sampling works just fine.

Is there a known limitation of mixing OpenAL and Core Audio code in the same project? If so - is there a workaround? If not - what else could the problem be?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深居我梦 2024-12-29 22:58:14

好吧,事实证明,在 OpenAL 代码中初始化音频会话时,我必须将音频会话类别从 kAudioSessionCategory_MediaPlayback 更改为 kAudioSessionCategory_PlayAndRecord

OK, turns out I had to change the audio session category from kAudioSessionCategory_MediaPlayback to kAudioSessionCategory_PlayAndRecord when initializing the audio session in the OpenAL code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文