私はALSAを使用してUbuntuで最初のサウンドカードドライバを開発しています。サウンドカードの音量調整を実装している間、いくつかの問題が発見されました。
1)snd_kcontrol_new.infoに割り当てられている機能のsnd_ctl_elem_info.value.integer.minとmaxの値を選択するロジックを理解しようとしています。私のサウンドカードは-100dbと0dbの間で変わることができます。 snd_ctl_elem_info.value.integer.min/max または他の範囲から 0-100 または 0-15 にマッピングするかどうかを決定するにはどうすればよいですか?
2) PCM 再生音量、マスター再生音量、再生音量コントロール名の違いを理解するのが難しい。
ご回答ありがとうございます。質問が些細な場合はお詫び申し上げますが、正しい説明が見つかりません。
答え1
制御値は通常ハードウェアレジスタ値にすぎません。
コントロール値とdB値のマッピングはTLVメタデータを介して行われます。
「PCM」はPCMデバイスを介して再生されるサウンドに適用され、「マスター」は再生されるすべてのサウンドに適用されます。