查看禁用 alsa 驱动程序捕获的修改

查看禁用 alsa 驱动程序捕获的修改

我通过引用 dummy.c 声音驱动程序为 mycard 编写了 alsa 驱动程序。我的卡不支持捕获功能。我定义了播放操作,但没有定义捕获操作以避免捕获支持。我的卡驱动程序与其他附加 usb 音频设备一起存在。

我对主音量控制有疑问。当我使用 amixer 控制主音量时,它适用于播放和捕获流。对于捕获,amixer 函数 snd_mixer_selem_has_capture_channel(elem, chn) 对左声道和右声道都返回 true。由于此播放音量 put 操作也会被调用进行捕获。由于播放和捕获都调用相同的音量控制操作,因此音量控制应用两次(增加/减少)。

我修改了 snddevice 脚本以不创建捕获设备并确保相同的 @/dev/snd。

我需要帮助来避免/禁用此捕获支持,以便 snd_mixer_selem_has_capture_channel(elem, chn) 对卡播放通道返回 false。

答案1

如果您的捕获混频器控件的实现出现了错误,甚至没有进行捕获,那么您首先就不应该拥有捕获混频器控件。

相关内容