Debian

在我的機器音頻插孔或 S/PDIF 輸出上播放某些東西所需的最少程序集是什麼?

  • January 24, 2018

問題:

播放音頻時,我的音響系統聽不到任何聲音。

問題:

在我的機器音頻插孔或 S/PDIF 輸出上播放某些東西所需的最少程序集是什麼?

我是怎麼到那裡的?

我的系統是一個最新的 Debian Stretch 系統,它是用debootstrap. 該系統是一個Intel NUC5CPYH,據說有一個Intel Braswell 晶片組

我跑了

apt-get install --no-install-recommends sox libsox-fmt-all

安裝sox音頻播放器。當我嘗試播放文件時,我得到了

ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
play FAIL formats: can't open output file `default': snd_pcm_open error: No such file or directory

所以,在查看了 and 的依賴關係之後soxlibsox-fmt-all我跑了

apt-get install libsndio6.1 pulseaudio

現在,sox當被要求這樣做時,它的輸出似乎可以正常播放文件,但我的音響系統上沒有任何聲音輸出。(音響系統設置得很好。)

編輯#1

的輸出cat /proc/asound/cards

0 [PCH            ]: HDA-Intel - HDA Intel PCH
                     HDA Intel PCH at 0x81414000 irq 313

編輯#2

的輸出aplay -l

aplay: device_list:270: no soundcards found...

解決方案

我讓它工作了。現在我可以說有兩個問題:

  1. 我的使用者沒有足夠的權限訪問聲音設備。(這個對另一個問題的回答告訴我。)
  2. 我的聲音設備已靜音。(我將告訴我的答案標記為“正確”)

所以,總而言之,我必須採取的步驟是

  1. apt-get install --no-install-recommends sox libsox-fmt-all alsa-utils
  2. 將自己添加到audio組中:usermod --append --groups audio <username>
  3. 更改 alsa 音量:alsamixer
  4. 播放歌曲soxplay <filename>

你檢查過音量設置嗎?系統預設設置為安靜或完全靜音,因為人們對新的未配置系統上的全音量聲音輸出感到惱火。

由於/proc/asound/cards表明您的晶片組集成音效卡的名稱是“PCH”,請嘗試以下操作(alsamixer如有必要,請先安裝):

alsamixer -c PCH

這應該會打開一個帶有多個滑塊的基於文本的混音器:使用箭頭鍵來操作它們。M 鍵將切換具有它們的通道上的“靜音”設置。

標有“PCM”的滑塊需要完全打開才能獲得正常的聲音輸出:“主”滑塊是用於調節整體音量的滑塊。如果您發現名稱中包含 S/PDIF 的通道,您可能需要切換其靜音狀態以獲得 S/PDIF 輸出。

找到好的預設設置後,alsactl store以 root 身份執行以將設置保存為新的系統預設設置。

您的桌面環境也可能將您的音頻設置從一個會話儲存到另一個會話,但設置良好的系統範圍的預設音量永遠不會受到傷害。

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