pulseaudio调试alc897

问题:采用ALC897的codec芯片,默认输入:front-mic,rear-mic;默认输出:headphones,line-out;其中由于输出只接了其中一路默认line-out,且由于codec的line-out和rear-mic的jack都能正常工作,在正常工作过程中由于jack上报对应的line-out和rear-mic的unplugin事件音频输出会进行相应的切换,实际需求是不需要软件上对对应的jack识别插拔进行切换动作。

声音配置默认走的是pulseaudio服务进行的,如果需要针对以上问题进行相应的调整的话,主要是针对jack事件相应进行相应的调整或者是直接让对应的line-out的jack事件一直保持plugin状态,当耳机拔出的时候对应的jack状态不变成对应的unplugin状态即可。

实际参考wiki进行调整:

https://wiki.archlinux.org/title/PulseAudio/Examples#PulseAudio_through_JACK

puluseaudio的整个工作流程:

由于pulseaudio是通过profiles--->path-->element,可以通过element使jack事件保持plugin状态即可。

profile文件定位: alc897声卡采用的是ft-hda的驱动,通过/usr/lib/udev/rules.d/90-pulseaudio.rules的第25行决定对应的profile文件采用的是/usr/share/pulseaudio/alsa-mixer/profile-sets/pulse-ft-hda.conf对应的声卡进行配置。

paths-sink定位:通过查看对应的pulse-ft-hda.conf文件定位对应的paths-output采用的是/usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf

element定位:通过查看analog-output-lineout.conf文件定位Jack Line Out状态进行设置。

当然,正常需要通过调试pulseaudio的话可以通过命令pulseaudio -k停止运行服务,然后执行pulseaudio --daemonize=no --log-level=4 --log-target=file:test.log查看对应test.log日志进行代码和配置的调试工作。

解决方案:

由于pulseaudio针对hda-ft的输出只需要一路sink,同时配置jack line out为plugin

第一处修改:通过修改/usr/share/pulseaudio/alsa-mixer/profile-sets/pulse-ft-hda.conf

第二处修改:/usr/share/pulseaudio/alsa-mixer/paths/analog-output-lineout.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值