本文介绍在Deepin Linux系统下遇到麦克风无输入设备的解决方案。
解决方案 1、首先看一下alsa层(驱动层)的麦克风是否工作正常,用以下命令: arecord -l 列出所有capture设备: juju@juju-PC:/usr/share/pulseaudio/alsa-mixer/profile-sets$ arecord -l **** List of CAPTURE Hardware Devices **** card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) [] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 1: HDA Digital (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC (*) [] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 比如我就一个声卡card0,然后声卡下面有4个capture设备,分别是0,1,6,7。 然后用arecord命令一个一个设备录音试一下看那个能录音: arecord -Dhw:0,6 -d 10 -f cd -c 2 -t wav test.wav #hw:0是声卡号,6是设备号 如果录音能播放出来,那么恭喜你,可以继续下面的教程,否则就是声卡驱动问题了,得研究Linux内核。 2、你的麦克风不工作多半是因为pulseaudio的问题,我们只需要虚拟一个声卡出来并且指定刚才能工作的hw:0,6作为默认的source,就可以在deepin设置里切换麦克风了。 复制/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf并且重命名为default-juju.conf,名字随意。 然后在文件开头[General]后面加上这么一段: [General] auto-profiles = yes # 这是文件开头 [Mapping Inter-Mic] #这里的6根据你的能工作的capture 设备ID来定 device-strings = hw:%f,6 channel-map = left,right paths-input = analog-input-internal-mic multichannel-input priority = 9 direction = input #下面是其他元素 然后执行命令: pacmd load-module module-alsa-card device_id=0 profile_set=default-juju.conf # 这里的device_id根据你的声卡id来定 这样就搞定了,执行pacmd list-cards就可以看到多了一张声卡了,这个声卡没有sink,只有source: index: 1 name: driver: owner module: 22 properties: alsa.card = "0" alsa.card_name = "sof-hda-dsp" alsa.long_card_name = "sof-hda-dsp" alsa.driver_name = "snd_soc_skl_hda_dsp" device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic" sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0" device.bus = "pci" device.vendor.id = "8086" device.vendor.name = "Intel Corporation" device.product.id = "34c8" device.string = "0" device.description = "sof-hda-dsp" device.icon_name = "audio-card-pci" profiles: input:Inter-Mic: Inter-Mic 输入 (priority 59, available: unknown) off: 关 (priority 0, available: unknown) active profile: sources: alsa_input.0.Inter-Mic/#2: sof-hda-dsp Inter-Mic ports: multichannel-input: 多声道输入 (priority 0, latency offset 0 usec, available: unknown) properties: 然后设置输入里面也有声音了,滑块动了,如下图:
然后你可以把刚才的命令写入到/etc/pulse/default.pa里面,就在最后一行加上就行了,如下图:
然后杀死pulseaudio,它会自动重启,大功告成: pulseaudio -k 参考:安装Pulseaudio模块在Ubuntu中开启蓝牙APTX/LDAC支持。
附:麦克风兼容性问题解决方案 总得来说,就是利用pulseaudio的load module特性,再次载入一次声卡,并且根据自己写的配置文件重新设置可用的sink和source。 方法: 在/usr/share/pulseaudio/profile-sets文件夹下面复制一份default.conf命名为default-juju.conf,并且在中间插入三个元素: [Profile output:Inter-Speaker+intput:Inter-Mic] description = Inter-sink-and-source-profiles output-mappings = Inter-Speaker input-mappings = Inter-Mic priority = 10 [Mapping Inter-Speaker] device-strings = hw:%f,0 channel-map = left,right paths-output = analog-output-speaker multichannel-ouput #至于什么混音器mixer,我到现在还没怎么搞明白,就用pulseaudio现成的混音器,多指定几个,它会选择一个最合适的! priority = 9 direction = output [Mapping Inter-Mic] device-strings = hw:%f,6 channel-map = left,right paths-input = analog-input-internal-mic multichannel-input #至于什么混音器mixer,我到现在还没怎么搞明白,就用pulseaudio现成的混音器,多指定几个,它会选择一个最合适的! priority = 9 direction = input 如图所示:
然后在/etc/pulse/default.pa文件末尾重新载入一次声卡: load-module module-alsa-card device_id=0 card_name=juju profile_set=default-juju.conf 声卡名称随意写。 然后杀死pulseaudio守护进程,它会自己重启并且执行default.pa中的指令: pulseaudio -k 于是我们就用pacmd能看到两个声卡了: juju@juju-PC:/usr/share/pulseaudio/alsa-mixer/profile-sets$ pacmd list-cards 2 card(s) available. index: 0 name: driver: ........ index: 1 name: driver: ....... profiles: input:Inter-Mic: Inter-Mic 输入 (priority 59, available: unknown) off: 关 (priority 0, available: unknown) active profile: sources: alsa_input.0.Inter-Mic/#2: sof-hda-dsp Inter-Mic ports: multichannel-input: 多声道输入 (priority 0, latency offset 0 usec, available: unknown) properties: 然后我们在Deepin设置里面也可以看到有两个输入选择,第二个输入是有声音的:
当然我们也可以直接用pacmd 直接执行添加声卡的命令,执行一次多一个声卡,所以我上面有三个输入: pacmd load-module module-alsa-card device_id=0 name=juju profile_set=default-juju.conf 到这里,现在总算看起来顺眼了,用Deepin Linux自带的语音记事本也可以录音了。
相关主题 |