【问题标题】:Emulator pulseaudio access denied模拟器pulseaudio访问被拒绝
【发布时间】:2020-10-12 02:29:47
【问题描述】:

我正在尝试在 ubuntu 19.10 上运行 android 模拟器 (v 29.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。没有任何帮助。我仍然得到相同的行为。

有什么想法吗?

【问题讨论】:

    标签: android-emulator pulseaudio


    【解决方案1】:

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

    系统:主机上带有 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-socket应该存在。 我最初阅读的 Arch/Manjaro 文档中没有看到这一步。所以这是我的症结所在。

    除此之外,它归结为 Arch wiki 中的步骤: https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#Passing_VM_audio_to_host_via_PulseAudio

    具体来说,我的virsh edit <vm-name> 在底部看起来像这样(不要忘记对顶部的domain 行也进行了更改):

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

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

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

    【讨论】:

    • 是的,我相信匿名解决了一些问题。
    猜你喜欢
    • 2011-02-01
    • 2018-08-22
    • 2012-09-16
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    相关资源
    最近更新 更多