Ubuntu虚拟机ALSA调试

Ubuntu虚拟机ALSA调试

Hntea bio photo By Hntea

vm 在启动时如果没有对声卡进行配置,那么默认为使用主机默认的声卡,也就是说,如果你当前有一个USB的声卡,那么不对虚拟机进行配置是无法使用ALSA驱动调用的。如何在虚拟机中使用USB麦克风进行录音就是这篇文章所记录的。

系统版本说明

本次测试使用的是ubuntu14.04及以上的桌面版本,这些版本默认带有ALSA驱动的。但是ALSA相关操作工具不一定自带,所以在使用时将安装对应的工具包。

配置步骤

1.修改虚拟机配置文件

  • 关闭虚拟机,找到虚拟机所在安装目录
  • 用文本编辑器打开虚拟机配置 (.vmx) 文件。
  • 添加 sound.skipAlsaVersionCheck 属性并将其设置为 TRUE。 例如:sound.skipAlsaVersionCheck = “TRUE”

2.为虚拟机配置ALSA声卡

  • 选择虚拟机,然后选择虚拟机 > 设置。
  • 在硬件选项卡中,选择声卡。
  • 选择已连接和启动时连接。
  • 选择指定主机声卡

3.安装工具包

在终端输入:

sudo apt-get install alsa-tools alsa-oss flex zlib1g-dev libc-bin libc-dev-bin python-pexpect libasound2-dev

4.使用工具检测声卡

在终端输入:

aplay -L //检测播放设备
arecord -L //检测录音设备

如果上面上面没有正常显示出声卡设备,那么应该是 alsa-lib 版本安装出错。请前往官网下载较低的版本: 1.0.15版本

进入目录安装:

./configure
make
sudo make install

单击确定保存所做的更改。

5.录音

在终端查看录音设备

arecord -l 

例如:

    hntea@ubuntu:~$ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: U0x46d0x825 [USB Device 0x46d:0x825], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

使用 usb麦克风录音测试:

arecord -d 5 -D plughw:1,0 test.wav

播放

aplay ./test.wav

结束。

注意

如果播放时出现特别大的噪声,那么需要到系统设置 system setting 的音频模块进行调节,将输入的增益调节到最小,这样就能避免过度放大导致失真。