Android Studio 启动Android Emulator时,Mac桌面上的音频停止

hc8w905p  于 2023-01-09  发布在  Android
关注(0)|答案(6)|浏览(251)

当我启动Android Emulator时,Mac桌面上的音频停止。当我关闭模拟器时,它再次启动。

7vhp5slm

7vhp5slm1#

我发现比接受@Ivo Stoyanov的答案更简单的方法来解决这个问题。只需打开模拟器配置文件(对于我的Mac它的/Users/{myname}/.android/avd/{emulator_name}/config.ini和设置

hw.audioInput=no
hw.audioOutput=no

如果它不工作,那么你应该“擦除数据”和“现在冷 Boot ”在Android虚拟设备管理器

093gszye

093gszye2#

模拟器在启用音频的情况下启动时,有时会覆盖Mac计算机的音频通道。即使您在安全设置中禁用了Android Studio的麦克风访问权限,也会发生这种情况。要解决此问题,您应该在禁用音频的情况下启动模拟器。

有两个选项可用于在禁用音频的情况下启动模拟器:
**I.**从控制台启动模拟器:

第一个月

**II.**如果您希望直接从Android studio启动禁用音频的模拟器,则应将emulator文件替换为将使用其他参数运行emulator的脚本:

Android Studio默认使用二进制文件$ANDROID_SDK/emulator/emulator,该文件位于:~/Library/Android/sdk/emulator/
您必须执行以下操作:
1.将emulator二进制文件重命名为emulator-original
1.创建一个名为emulator的bash脚本文本文件,其中包含:

#!/bin/bash    
~/Library/Android/sdk/emulator/emulator-original $@ -qemu -no-audio

1.使用chmod +x emulator设置新创建的脚本权限
现在,Android Studio将运行您的脚本,该脚本将使用附加参数运行原始二进制文件以禁用模拟器的音频。
注意:MartinCR的脚本解决方案是here的建议者。

kxeu7u2r

kxeu7u2r3#

要构建@ pawe-kanarek答案,这里有一个小脚本,循环通过您的机器上的所有Android模拟器,并添加

hw.audioInput = no
hw.audioOutput = no

(如果已指定这些选项,则替换它)。

#!/bin/bash
find ~/.android/avd -name "config.ini" | while read line
do
   awk '!/audio/' $line > tmp
   rm $line
   mv tmp $line
   echo "hw.audioInput = no" >> $line 
   echo "hw.audioOutput = no" >> $line 
done

要运行它,只需将此代码添加到本地bash脚本(我将我的脚本命名为'disable_emulator_sound.sh'),然后使用命令chmod +x disable_emulator_sound.sh使其可执行,并使用./disable_emulator_sound.sh运行它。
注意:正如在原来的答案中提到的,在进行此更改后,如果它不工作,您可能必须进入模拟器选项菜单,运行“擦除数据”,然后运行“立即冷 Boot ”。

z4bn682m

z4bn682m4#

基于Joachim的帖子:
如果您有一些蓝牙耳机,并注意到模拟器运行时有奇怪的嘶嘶声,您可能会发现添加-noaudio非常有用
要进行永久修复以影响所有虚拟设备,请执行以下操作:
在文件夹~/Library/LaunchAgents/中创建一个.plist文件,例如studio-environments.plist,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>setenv.studio.emu.params</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/launchctl</string>
        <string>setenv</string>
        <string>studio.emu.params</string>
        <string>-writable-system,-noaudio</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

直接加载这些更改(例如,无需重新启动Mac即可应用更改)

launchctl load ~/Library/LaunchAgents/studio-environments.plist

额外费用:

如果在命令已加载时运行该命令,则会收到如下错误消息

Load failed: 5: Input/output error

你得先把它卸下来

launchctl unload ~/Library/LaunchAgents/studio-environments.plist

您可以使用以下命令检查更改:

launchctl getenv studio.emu.params

注意:您将不再听到模拟器发出的任何声音,但嘶嘶声也将消失

o7jaxewo

o7jaxewo5#

您也可以在MacOS系统设置的"安全与隐私"中取消Android Studio的麦克风访问权限。(虽然我不知道效果如何/是否有效,因为我选择了config.ini方法。
步骤:Link to a better explaination with pictures

  • 前往MacOS "系统偏好设置"〉"安全与隐私"〉麦克风。
  • 点击左下角的锁定图标以启用编辑。
  • 然后取消选中右侧应用程序列表中Android Studio上的复选标记。

感谢Matt McKenna在他的博客上分享了这一点。他在这里写了解决方案和背景:https://blog.mmckenna.me/android-emulators-vs-bluetooth-headphones

7lrncoxx

7lrncoxx6#

在Mac OS Ventura上:系统偏好设置〉隐私和安全〉麦克风〉取消选中Android Studio

相关问题