我在 VMware 上安装了 Ubuntu 15.10,但由于某种原因,我无法让声音正常工作。我从 VMware 收到以下消息:
A device ID has been used that is out of range for your system.
Sound will be disconnected.
我希望能够解决所有这类问题,以便制作一个完全可用的操作系统,以便我可以将其部署在工作场所的个人电脑上。
答案1
假设 Windows 主机:作为 Vmware 知识库状态,您需要启用立体声混音:
解决方案 在 Windows 主机上启用“立体声混音”可解决该问题。立体声混音选项位于声音设置的“录制”选项卡下。如果未看到,请根据制造商为底层物理声卡安装特定的声卡驱动程序。一旦立体声混音选项可用,则需要在我们为其声卡设置中明确指定 VM 的主机声卡的场景中启用它。如果使用默认主机声卡,则不会出现声音问题,因此无需启用立体声混音。重要的是在其属性的“侦听”选项卡下为“立体声混音”选择“侦听此设备”。这同样适用于麦克风。这些是声音设置的一部分。
根据已安装的物理声卡驱动程序选择麦克风的播放设备。例如,如果驱动程序来自 Realtek,则为“扬声器(Realtek 高清晰度音频)”。对于立体声混音,则为“默认播放设备”。此设置是启用立体声混音后录音工作的必要条件。
完成上述所有步骤后,在虚拟机设置中指定主机声卡时,可以根据所连接的真实耳机或物理声卡驱动程序选择扬声器。上述建议的解决方案适用于两者。
注意:需要检查客户机声卡驱动程序是否已正确安装和设置。为此,建议在虚拟机设置中选择默认主机声卡,以检查客户机是否安装了必要的声音驱动程序,以便播放和录制都可以正常工作。
答案2
实际上,有一种相当简单但违反直觉的方法可以在任何支持 Pulseaudio 的 Linux VM 上播放音频。它还可以在任何 VM 平台上工作,而不仅仅是 Hyper-V。
最好的一点是它不需要更改虚拟机或主机上的任何系统设置。它也不要求您在增强会话中运行虚拟机并与其共享主机系统的音频驱动程序。
简短回答:
ffmpeg
在主机和虚拟机上安装适合操作系统的实用程序版本。
在主机上运行以下命令:
ffplay -nodisp -ac 2 -acodec pcm_s16le -ar 48000 -analyzeduration 0 -probesize 32 -f s16le -i udp://0.0.0.0:18181?listen=1
在您的虚拟机上运行以下命令:
ffmpeg -f pulse -i "remote.monitor" -ac 2 -acodec pcm_s16le -ar 48000 -f s16le "udp://IP.OF.YOUR.HOST:18181"
详细解答:
本文提供了该过程的更详细指导,并解释了这些命令实际上的作用:在 HYPER-V 上的 UBUNTU VM 上使音频正常工作