虚拟机使用pc麦克风声卡

1.win+r打开运行。
2.在运行中键入services.msc回车,打开服务。
3.右边下拉找到VMware Authorization Service。
4.双击打开属性,启动类型->自动,点击驱动,点击应用,点击确定。这个时候已经授权虚拟机能访问到摄像头了。
5.打开虚拟机,点击"虚拟机"->可移动设备,找到声卡,点击链接。此时虚拟机完成对麦克风的接管。

查看总共有几个设备,笔者这里就一个音频设备,是AudioPCI设备,这个设备就是PC自带的麦克风。

arecord -l

**** CAPTURE 硬體裝置清單 ****
card 0: AudioPCI [Ensoniq AudioPCI], device 0: ES1371/1 [ES1371 DAC2/ADC]
子设备: 0/1
子设备 #0: subdevice #0

查看这个设备具体的设备名,可以看到有很多设备名(后附)

arecord -L

或者

ffmpeg -sources alsa

其中有些可以用来打开运行,可以一个个试试,比如第一个:

ffplay -f alsa default

查看支持的参数,采样率,位深,通道数等默认值。

ffmpeg -h demuxer=alsa
ffmpeg -h muxer=alsa

注意,音频设备类型是alsa ,视频设备类型是video4linux2,v4l2,见另一篇文章:虚拟机使用pc摄像头

因为声道数,采样率,位身固定,在ffmpeg代码中,用av_read_frame读取以下各个设备每次读取返回的packet中存储的音频数据大小分别是:
null:131072 sysdefault:3760 pulse:512 default:512 front:64 dsnoop:4096(有高频噪声) hw:64(有高频噪音) plughw:64(有高频噪音)
注:笔者计算机为小新pro13 2020 虚拟机为16.04

default
    Playback/recording through the PulseAudio sound server
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
sysdefault:CARD=AudioPCI
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Default Audio Device
front:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Front speakers
surround40:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    4.0 Surround output to Front and Rear speakers
iec958:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Direct sample mixing device
dsnoop:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Direct sample snooping device
hw:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Direct hardware device without any conversions
plughw:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Hardware device with all software conversions

补充: ALSA (Advanced Linux Sound
Architecture(高级Linux声音体系)的缩写)是为声卡提供驱动的Linux内核组件

ffmpeg是音视频必备,但即使从业数年,它似乎依然有无穷的秘密,感兴趣添加笔者微信:YQW1163720468,加入ffmpeg微信群讨论。但记得备注:ffmpeg爱好者


版权声明:本文为weixin_43466192原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。