如何配置OpenSL以与主扬声器或耳机以外的耳机配合使用

时间:2014-02-05 12:03:22

标签: android android-ndk opensl

我在android NDK中尝试了原生音频代码示例。当我尝试录制一些演讲然后播放它时它工作正常。它使用主扬声器(扬声器)进行语音播放。我想修改代码,以便在耳机而不是主扬声器中播放语音。有什么帮助吗?

1 个答案:

答案 0 :(得分:6)

我解决了这个问题,我找到了一个相关主题的谷歌小组。这真的很有帮助。这是链接: https://groups.google.com/forum/#!topic/android-ndk/O-hufEm20cU

我在android NDK提供的原生音频示例中进行了测试。您必须先获取android配置界面,然后在创建音频播放器后将流类型设置为STREAM_VOICE。

// Code for working with ear speaker by setting stream type to STREAM_VOICE
SLAndroidConfigurationItf playerConfig;
result = (*bqPlayerObject)->GetInterface(bqPlayerObject, SL_IID_ANDROIDCONFIGURATION, &playerConfig);
SLint32 streamType = SL_ANDROID_STREAM_VOICE;
result = (*playerConfig)->SetConfiguration(playerConfig, SL_ANDROID_KEY_STREAM_TYPE, &streamType, sizeof(SLint32));