Alsa 및 alsactl: 제어 파일의 초기화, 저장 및 기본 구성

Alsa 및 alsactl: 제어 파일의 초기화, 저장 및 기본 구성

대상 커널은 2.6.35.14(이전)이며 임베디드 플랫폼에서 실행되며 코덱은 wm8753입니다.

alsactl 시스템이 어떻게 작동하는지 이해하려고 노력 중입니다. 매뉴얼 페이지에서 참조하는 구성 파일인 asound.play @etc/alsa 파일을 찾았습니다. 왜 내 이름이 asound.state 대신 asound.play라고 불리는지 잘 모르겠지만 작동합니다.

#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

파일이 이전 버전의 드라이버로 생성되었고 아직 dB 정보가 없기 때문에 dbmin/ 주석이 누락된 것 같습니다 . dbmax댓글은 어쨌든 무시되므로 alsactl restore별 문제가 되지 않습니다.

iface항목은 믹서 name컨트롤을 식별합니다. 이 value값은 해당 컨트롤의 값을 지정합니다.

사운드가 작동하도록 하려면 이러한 믹서 컨트롤이 하드웨어에 어떤 영향을 미치는지 이해해야 합니다. 분명히 이러한 사용자 정의 설정을 만든 사람은 누구나 그것을 알고 있었습니다.

관련 정보