Alsa和alsactl:控制文件的初始化、存储和默认配置

Alsa和alsactl:控制文件的初始化、存储和默认配置

目标内核是:2.6.35.14(旧),它运行在嵌入式平台上,编解码器是wm8753。

我试图了解 alsactl 系统是如何工作的。我找到了一个文件 asound.play @ etc/alsa ,这是手册页引用的配置文件。我不确定为什么我的被称为 asound.play 而不是 asound.state 但正在运行:

#alsactl init
#alsactl -f /etc/alsa/asound.play store

将默认 asound.play 文件。使用自定义版本声音可以工作,但使用默认配置则不行。以下是默认配置和自定义配置的 asound.play 文件的摘录。请记住,这只是 85 中的一个控制块:

默认:

control.1 {
        comment.access 'read write'
        comment.type INTEGER
        comment.count 2
        comment.range '0 - 255'
        comment.dbmin -12750
        comment.dbmax 0
        iface MIXER
        name 'PCM Volume'
        value.0 215
        value.1 215
    }

风俗:

control.1 {
        comment.access 'read write'
        comment.type INTEGER
        comment.count 2
        comment.range '0 - 255'
        iface MIXER
        name 'PCM Volume'
        value.0 250
        value.1 250
    }

对我来说,最初定制该文件的人如何知道她/他需要摆脱 comment.dbmin 和 dbmax 并不明显。那么,人们如何才能弄清楚应该如何自定义该文件以使声音正常工作呢?猜测并检查?

答案1

我猜想dbmin/dbmax注释丢失了,因为该文件是用旧版本的驱动程序生成的,还没有 dB 信息。不管怎样,评论会被忽略alsactl restore,所以这并不重要。

iface条目name标识混音器控件;这些value值指定该控件的值。

为了让声音发挥作用,您必须了解这些混音器控件如何影响硬件。显然,创建这些自定义设置的人都知道。

相关内容