【发布时间】:2019-09-18 13:14:43
【问题描述】:
当我启动我的 Android 模拟器时,我点击右侧的三个点。然后,在“扩展控件”窗口中,我将麦克风选项设置为全部激活。
每次启动都必须这样做,很烦人。默认情况下可以激活这些设置吗?怎么做?
【问题讨论】:
标签: android android-studio android-emulator config
当我启动我的 Android 模拟器时,我点击右侧的三个点。然后,在“扩展控件”窗口中,我将麦克风选项设置为全部激活。
每次启动都必须这样做,很烦人。默认情况下可以激活这些设置吗?怎么做?
【问题讨论】:
标签: android android-studio android-emulator config
编辑:我说没有其他方法可以允许麦克风输入是错误的。再看一遍,发现another commit后来介绍了allow-host-audio选项。所以这是在启用主机音频的情况下启动模拟器的方法:
emulator -avd YourAvdName -qemu -allow-host-audio
adb emu avd hostmicon
似乎没有启用设置中的开关,但这是纯粹的 UI 问题,麦克风工作正常。
上一个答案:
我认为目前尚无针对此特定设置的方法。通常模拟器设置保存到AVD.conf。 Here 是持久设置的所有常量,麦克风设置不在其中。进一步查看Virtual microphone uses host audio input 设置,我发现the commit 引入了此设置,您可以看到,当您切换此设置时,它会在音频子系统中设置allow_real_audio,仅此而已。没有其他代码设置此标志。正如您所看到的here,此选项在重新启动时被有意重置,希望在修复描述的错误后它会得到修复。
编辑:这里是关于如何准确设置标志的更多信息:
UI 开关切换在this line 中处理。它调用this function,而后者又调用qemu_allow_real_audio,它设置allow_real_audio 标志。此标志用于AUD_read 函数
if (!allow_real_audio) {
// TODO: Also a potential way to pipe fake audio input
// that is not just all zeroes.
memset(buf, 0x0, size);
}
【讨论】:
emu-master-dev 分支即可获取模拟器源代码。