![Alsa 및 alsactl: 제어 파일의 초기화, 저장 및 기본 구성](https://linux55.com/image/144796/Alsa%20%EB%B0%8F%20alsactl%3A%20%EC%A0%9C%EC%96%B4%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EC%B4%88%EA%B8%B0%ED%99%94%2C%20%EC%A0%80%EC%9E%A5%20%EB%B0%8F%20%EA%B8%B0%EB%B3%B8%20%EA%B5%AC%EC%84%B1.png)
대상 커널은 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
값은 해당 컨트롤의 값을 지정합니다.
사운드가 작동하도록 하려면 이러한 믹서 컨트롤이 하드웨어에 어떤 영향을 미치는지 이해해야 합니다. 분명히 이러한 사용자 정의 설정을 만든 사람은 누구나 그것을 알고 있었습니다.