Android emulator 仿真器pulseaudio访问被拒绝

Android emulator 仿真器pulseaudio访问被拒绝,android-emulator,pulseaudio,Android Emulator,Pulseaudio,我试图在Ubuntu19.10上运行android emulator V29.3.4.0,但没有声音。从控制台启动时,我可以看到以下错误: $ emulator -avd firstPhone pulseaudio: Wrong context state pulseaudio: Reason: Access denied pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver 我已尝

我试图在Ubuntu19.10上运行android emulator V29.3.4.0,但没有声音。从控制台启动时,我可以看到以下错误:

$ emulator -avd firstPhone
pulseaudio: Wrong context state
pulseaudio: Reason: Access denied
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
我已尝试重新安装pulseaudio并删除~/.config/pulse。没有任何帮助。我仍然有同样的行为


你知道问题出在哪里吗?

我今天遇到了你的问题,我自己也在寻找解决办法。我发现了一些似乎有效的东西。不太优雅,但这是我发现的最好的。以下是我所拥有的:

系统:主机上带有qemu 5.1的Manjaro

我的关键是修改/etc/pulse/default.pa并在底部添加:

load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket
然后跑:pulseaudio-kill

应自行重新启动,如果没有,则pulseaudio-start

此时,/tmp/pulse套接字应该存在。 我在最初阅读的Arch/Manjaro文档中没有看到这一步。这就是我的症结所在

除此之外,它可以归结为Arch wiki中的步骤:

具体来说,我的virsh edit在底部看起来是这样的:不要忘记对顶部的域行所做的更改:

evdev行与声音无关,但我将它们放在上下文中,假设您使用evdev共享键盘和鼠标


注意:我不必对/etc/libvirt/qemu.conf做任何更改就可以让声音正常工作,尽管我使用键盘/鼠标为evdev做了更改。我也不必设置/root/.config/pulse目录,因为我使用的是匿名套接字。

是的,我相信匿名解决了一些问题。
  <qemu:commandline>
    <qemu:arg value='-object'/>
    <qemu:arg value='input-linux,id=mouse1,evdev=/dev/input/by-id/usb-1bcf_USB_Optical_Mouse-event-mouse'/>
    <qemu:arg value='-object'/>
    <qemu:arg value='input-linux,id=kbd1,evdev=/dev/input/by-id/usb-0c45_USB_Keyboard-event-kbd,grab_all=on,repeat=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='ich9-intel-hda,bus=pcie.0,addr=0x1b'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='hda-micro,audiodev=hda'/>
    <qemu:arg value='-audiodev'/>
    <qemu:arg value='pa,id=hda,server=unix:/tmp/pulse-socket,out.buffer-length=512,timer-period=1000'/>
  </qemu:commandline>