无法在NDK oboe LiveEffect示例代码中更改音频源

问题描述 投票:1回答:1

我已经从这里下载了基于Oboe库的LiveEffect示例代码:https://github.com/google/oboe/tree/master/samples/LiveEffect

而且我已经能够在Android 8.0的Samsung Galaxy S7上运行并运行它

该程序在为NDK选择AAudio库时会按预期工作,但是在选择OpenSL ES库时,音频始终采用默认路由。我想使手机的内置麦克风成为音频输入,同时使带有麦克风的外部耳机的扬声器成为输出,但是如果连接了耳机,即使我选择内置麦克风,音频输入也始终默认为头戴式麦克风。在应用程序的用户界面中。在仅支持OpenSL ES的带有Android 7的三星Galaxy S6中,也可以看到相同的行为。

我也没有运气找到如何更改基于Google NDK的audio-echo sample program的音频输入的方法,该C0也使用OpenSLE。使用基于OpenSL ES的NDK音频时如何指定音频输入源?这是一个错误吗?

android audio android-ndk oboe
1个回答
0
投票

LiveEffect示例使用setDeviceId指定要使用的音频设备。这是the docssetDeviceId

请注意,在使用OpenSL ES时,它将被忽略,并且创建的流将具有deviceId kUnspecified。

[不幸的是,OpenSL ES(非常旧)不支持指定音频设备。这意味着将始终使用默认音频设备。

您可能可以通过使用Java API来实现所需的行为,特别是setPreferredDevice

© www.soinside.com 2019 - 2024. All rights reserved.