[Others] vmware workstation pro虚拟机里通过浏览器看视频,声音卡顿 V25.0.10
Tofloor
poster avatar
深度之家
deepin
2026-03-19 16:00
Author
【系统环境】: deepin V25.0.10 【前置条件】: VMware® Workstation 16 Pro,分配资源:2cpu*4核,内存12GB,硬盘80GB 【复现步骤】: 浏览器打开b站,播放任意视频 【预期结果】: 视频流畅,声音流畅 【实际结果】: 视频流畅,声音卡顿,完全听不清楚。

Reply Favorite View the author
All Replies
深度之家
deepin
2026-03-19 16:00
#1
非常感谢您向我们反馈这个问题,我们这边无法复现,您可以进入到控制中心的通用模块,开发者选项,把日志记录级别改成调试模式,获取以下整个操作过程的日志,提供给我们便于我们更早的进行分析,谢谢
Reply View the author
zl1811136
deepin
2026-03-30 09:42
#2

这个问题在 VMware 虚拟机中运行 Deepin(或 Debian/Ubuntu 系)时非常典型,通常由****宿主机(Windows)的音频设备配置冲突虚拟机的音频缓冲区设置不当引起**。**

报错信息 A device ID has been used that is out of range for your system(使用的设备标识号已超出本地系统范围)表明 VMware 试图调用一个宿主机当前不可用或未启用的音频设备**。**

请按照以下步骤由易到难进行修复:

🛠️ 第一步:修复宿主机(Windows)音频设置(最可能的解决方案)

这是解决“设备标识号超出范围”报错最直接的方法

  1. 打开声音设置**:在 Windows 任务栏右下角的喇叭图标上右键,选择“声音设置”(或“打开声音设置”)。**
  2. 进入设备属性/管理**:**
    • 找到“管理声音设备”或“更多声音设置”(通常在设置页面的底部或右侧)。
    • 在弹出的旧版控制面板窗口中,切换到**“录制”(Recording)选项卡**。
  3. 启用被禁用的设备**:**
    • 在空白处右键,勾选**“显示禁用的设备”。**
    • 查看是否有灰色的**“立体声混音”(Stereo Mix)或其他输入设备**。
    • 如果有,右键点击它,选择**“启用”。**
  4. 重启虚拟机**:设置完成后,不需要重启电脑,但建议重启 VMware 软件或虚拟机,再次尝试播放声音。**

⚙️ 第二步:修改 VMware 虚拟机配置

如果第一步无效,或者声音依然卡顿,需要调整虚拟机的硬件配置。

  1. 更改声卡连接方式**:**
    • 关闭虚拟机。
    • 右键点击虚拟机 -> 设置 (Settings) -> 声卡 (Sound Card)。
    • 在右侧的“连接”选项中,不要选“使用默认主机声卡”,而是选择**“指定主机声卡” (Specify host sound card)。**
    • 在下拉菜单中,明确选择你的物理声卡(例如 High Definition Audio Device Realtek High Definition Audio),而不是“自动检测”
    • 确保**“启动时连接”“已连接”都已勾选。**
  2. 更改声卡类型(进阶):
    • 如果上述操作后依然报错,找到你的虚拟机文件夹,用记事本打开 .vmx 文件。
    • 查找 sound.virtualDev 这一行。
    • 如果它是 hdaudio,尝试将其改为 es1371(兼容性更好,但可能不支持高保真)
    • 保存文件并重新启动虚拟机。

🎵 第三步:解决 Deepin 内部的声音卡顿(PipeWire/WirePlumber 配置)

Deepin 23/25 默认使用 PipeWire 作为音频服务,在虚拟机中容易因为缓冲区太小导致卡顿(爆音、断断续续)

  1. 打开 Deepin 的终端

  2. 创建 WirePlumber 配置文件目录(如果不存在):
    bash****编辑

    mkdir -p ~/.config/wireplumber/wireplumber.conf.d/
    
  3. 创建配置文件:
    bash****编辑

    touch ~/.config/wireplumber/wireplumber.conf.d/50-alsa-config.conf
    
  4. 使用编辑器(如 nano vim)打开该文件:
    bash****编辑

    nano ~/.config/wireplumber/wireplumber.conf.d/50-alsa-config.conf
    
  5. 将以下内容复制并粘贴到文件中:
    lua****编辑

    monitor.alsa.rules = [
    {
        matches = [
        {
            node.name = "~alsa_output.*"
        }
        ]
        actions = {
        update-props = {
            api.alsa.period-size = 1024
            api.alsa.headroom = 8192
        }
        }
    }
    ]
    

    注意:这段配置的作用是增加 ALSA 设备的环形缓冲区余量,专门解决虚拟机中的音频抖动问题*。***

  6. 保存并退出(如果是 nano,按 Ctrl+O 回车保存,然后 Ctrl+X 退出)。

  7. 重启音频服务:
    bash****编辑

    systemctl --user restart wireplumber pipewire pipewire-pulse
    

💡 补充建议

  • 重装 VMware Tools**:确保虚拟机内已安装最新版本的** open-vm-tools。在 Deepin 终端执行:sudo apt install --reinstall open-vm-tools-desktop
  • 检查内核参数**:如果以上都无效,可能是内核驱动冲突。尝试在** /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT 行尾添加 snd_hda_intel.dmic_detect=0,然后执行 sudo update-grub 并重启。但这可能会导致麦克风失效,建议作为最后手段。

通常执行****第一步即可解决“设备ID超出范围”的报错,执行第三步可解决声音卡顿问题。

Reply View the author