Linux-Kernel

ALSA 音效卡音量範圍號,以及控制項名稱之間的區別

  • October 28, 2015

我正在使用 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-15 中的 0-100 或任何其他範圍?

  2. 我很難理解控制項名稱 PCM Playback Volume、Master Playback Volume 和 Playback Volume 之間的區別。

感謝您的回答,如果問題非常瑣碎,我們深表歉意,但我找不到很好的解釋。

  1. 控制值通常只是硬體的寄存器值。

控制值和 dB 值之間的映射是通過 TLV 元數據完成的。 2. “PCM”適用於通過 PCM 設備播放的聲音,而“Master”適用於所有播放的聲音。

引用自:https://unix.stackexchange.com/questions/239302