Wenn ich den Android-Emulator starte, stoppt der Ton auf meinem Mac-Desktop

Lesezeit: 6 Minuten

Wenn ich den Android-Emulator starte, stoppt der Ton auf meinem Mac-Desktop. Es beginnt wieder, wenn ich den Emulator schließe.

Benutzeravatar von Paweł Kanarek
Pawel Kanarek

Ich habe einen einfacheren Weg gefunden als die akzeptierte Antwort von @Ivo Stoyanov, um dies zu lösen. Öffnen Sie einfach die Emulator-Konfigurationsdatei (für meinen Mac ist es /Users/{myname}/.android/avd/{emulator_name}/config.ini und einstellen

hw.audioInput=no
hw.audioOutput=no

Bildschirm aus Visual Studio-Code

Wenn es nicht funktioniert, sollten Sie im Android Virtual Device Manager “Daten löschen” und “Kaltstart jetzt” durchführen
Bildschirm aus dem Android Virtual Device Manager

  • Nicht schlecht, aber mit dieser Lösung müssen Sie die Konfiguration für jeden Emulator bearbeiten, den Sie erstellen.

    – Ivo Stoyanov

    16. Juli 2021 um 14:24 Uhr

  • Ja, wollte nur teilen 🙂 Auch damit kann ich steuern, welcher Emulator Audio verwenden kann und welcher nicht. Und das Erstellen neuer Emulatoren ist eher keine so häufige Aktivität

    – Pawel Kanarek

    16. Juli 2021 um 15:51 Uhr

  • Ich glaube, dass dies die beste Lösung ist, da das dauerhafte Festlegen von kein Audio für alle Emulatoren weitere Probleme verursachen wird, wenn wir Audio testen müssen. Wenn Sie also mit Audio arbeiten, erstellen Sie einfach zwei Emulatoren – mit und ohne Audioausgabe. Verwenden Sie diejenige, die Ihre Anforderungen während der Entwicklung unterstützt.

    – Chetan Goyal

    19. Februar um 21:31 Uhr

  • Stellen Sie sicher, dass Sie die richtige bearbeiten .ini Datei. Es sollte die sein config.iniNICHT <emulator_name>.ini

    – Muya_

    4. August um 4:24

  • Dies sollte die akzeptierte Lösung sein. Der von Ivo Stoyanov ist ein Hack.

    – Barry Fruitman

    28. Oktober um 17:22 Uhr

Benutzeravatar von Ivo Stoyanov
Ivo Stojanow

Wenn der Emulator mit aktiviertem Audio gestartet wird, überschreibt er manchmal den Audiokanal des Mac-Computers. Dies geschieht auch dann, wenn Sie den Zugriff auf das Mikrofon für Android Studio in den Sicherheitseinstellungen deaktivieren. Um das Problem zu beheben, sollten Sie den Emulator mit deaktiviertem Audio starten.

Es gibt zwei Möglichkeiten, den Emulator mit deaktiviertem Audio zu starten:

ICH. Starten Sie den Emulator von der Konsole aus:

emulator -avd Pixel_2_API_27 -qemu -no-audio

II. Wer den Emulator mit deaktiviertem Audio direkt aus Android Studio heraus starten möchte, sollte die emulator Datei mit einem Skript, das ausgeführt wird emulator mit zusätzlichen Parametern:

Android Studio verwendet standardmäßig die Binärdatei $ANDROID_SDK/emulator/emulatordie sich befindet in: ~/Library/Android/sdk/emulator/

Sie müssen Folgendes tun:

  1. Benennen Sie die um emulator binär zu emulator-original.

  2. Erstellen Sie eine Bash-Skript-Textdatei mit dem Namen emulator das beinhaltet:

#!/bin/bash    
~/Library/Android/sdk/emulator/emulator-original $@ -qemu -no-audio
  1. Legen Sie die neu erstellten Skriptberechtigungen mit fest chmod +x emulator

Jetzt führt Android Studio Ihr Skript aus, das die ursprüngliche Binärdatei mit den zusätzlichen Parametern ausführt, um das Audio des Emulators zu deaktivieren.

NB Kudos für die Skriptlösung an MartinCR, der sie hier vorgeschlagen hat.

  • Perfekt … es hat funktioniert! Vielen Dank

    – Alan Silva

    22. Mai 2021 um 17:46 Uhr

  • Dies ist eine bessere Lösung: stackoverflow.com/a/64696876/1942551

    – Karlingen

    23. Dezember 2021 um 9:07 Uhr

  • stackoverflow.com/a/64696876/1942551 funktioniert nicht unter Mac OS. Sie können ‘studio.emu.params’ nicht dauerhaft festlegen.

    – Ivo Stoyanov

    23. Dezember 2021 um 9:57 Uhr


  • Ich erhalte die Fehlermeldung „Intel HAXM ist erforderlich, um diesen AVD auszuführen. Kein Emulator installiert“, wenn ich die obigen Schritte ausführe. Irgendwelche Vorschläge?

    – Sunkas

    9. Februar um 14:47 Uhr

  • Für die erste Option scheint das Flag -qemu eigentlich unnötig zu sein, einschließlich -no-audio ohne -qemu funktioniert für mich

    – konnovdev

    15. Mai um 13:19 Uhr

Benutzeravatar von Shredder2794
Aktenvernichter2794

Um auf der Antwort von @paweł-kanarek aufzubauen, ist hier ein kleines Skript, das alle Android-Emulatoren auf Ihrem Computer durchläuft und hinzufügt

hw.audioInput = no
hw.audioOutput = no

am Ende der Datei (oder ersetzt es, wenn Sie diese Optionen bereits angegeben haben).

#!/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

Um dies auszuführen, fügen Sie diesen Code einfach zu einem lokalen Bash-Skript hinzu (ich habe meins „disable_emulator_sound.sh“ genannt). Machen Sie es dann mit dem Befehl ausführbar chmod +x disable_emulator_sound.sh und führe es mit aus ./disable_emulator_sound.sh.

Hinweis: Wie in der ursprünglichen Antwort erwähnt, müssen Sie nach dieser Änderung möglicherweise in das Optionsmenü des Emulators gehen und „Wipe Data“ und dann „Cold Boot Now“ ausführen.

Benutzeravatar von Morteza Rastgoo
Morteza Rastgoo

Bezogen auf Joachim‘s Beitrag:

Wenn Sie einige Bluetooth-Kopfhörer haben und ein seltsames Zischen bemerken, während der Emulator läuft, finden Sie es möglicherweise nützlich, das -noaudio hinzuzufügen

Ein … Haben dauerhafte Lösung, die alle Ihre virtuellen Geräte betrifft Mach Folgendes:

Ein … kreieren .plist Datei zB studio-environments.plist im Ordner ~/Library/LaunchAgents/ mit folgendem Inhalt:

<?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>

Um diese Änderungen direkt zu laden (z. B. um Änderungen zu übernehmen, ohne Ihren Mac neu zu starten)

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

Extras:

Wenn Sie den Befehl ausführen, während er bereits geladen ist, erhalten Sie eine Fehlermeldung wie diese

Load failed: 5: Input/output error

Du musst es vorher mit entladen

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

Sie können Ihre Änderungen mit diesem Befehl überprüfen:

launchctl getenv studio.emu.params

Hinweis: Sie hören keinen Ton mehr vom Emulator, aber das Zischen ist auch weg

Sie können den Mikrofonzugriff für Android Studio auch in den MacOS-Systemeinstellungen unter „Sicherheit & Datenschutz“ entziehen. (Obwohl ich nicht weiß, wie gut/ob es funktioniert, da ich mich für den config.ini-Ansatz entschieden habe.)

Schritt für Schritt: Link zu einer besseren Erklärung mit Bildern

  • Gehen Sie zu MacOS „Systemeinstellungen“ > „Sicherheit & Datenschutz“ > Mikrofon.
  • Klicken Sie unten links auf das Schlosssymbol, um die Bearbeitung zu aktivieren.
  • Deaktivieren Sie dann das Häkchen bei Android Studio in der Anwendungsliste rechts.

Ein großes Lob an Matt McKenna, der dies in seinem Blog geteilt hat. Zur Lösung und den Hintergründen schrieb er hier:
https://blog.mmckenna.me/android-emulators-vs-bluetooth-headphones

Benutzeravatar von Mohammed Salim Al-Othman
Mohammed Salim Al-Othman

Die beste Lösung für Mac OS ist:
Systemeinstellungen -> Sicherheit und Datenschutz -> Mikrofon -> Android Studio deaktivieren
Dann genieße, dass der Sound zurückgekommen ist 🙂

1432110cookie-checkWenn ich den Android-Emulator starte, stoppt der Ton auf meinem Mac-Desktop

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy