Alsa

CVLC:別名?

  • May 11, 2015

有人知道如何將 alsa 設備名稱傳遞給 cvlc?我做了

aplay -L
null
   Discard all samples (playback) or generate zero samples (capture)
default:CARD=SB
   HDA ATI SB, VT1708S Analog
   Default Audio Device
sysdefault:CARD=SB
   HDA ATI SB, VT1708S Analog
   Default Audio Device
front:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   Front speakers
surround40:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Analog
   7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=SB,DEV=0
   HDA ATI SB, VT1708S Digital
   HDMI Audio Output
hdmi:CARD=NVidia,DEV=0
   HDA NVidia, HDMI 0
   HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
   HDA NVidia, HDMI 0
   HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
   HDA NVidia, HDMI 0
   HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
   HDA NVidia, HDMI 0
   HDMI Audio Output

然後編輯 vlcrc

alsa-audio-device=front:CARD=SB,DEV=0

我也試試

alsa-audio-device=front:CARD=SB,DEV=0,0

但是當我執行 cvlc 給我的設備不存在時,為什麼?問題僅在 cvlc 上,不在 vlc gui 上 這是詳細的輸出 cvlc

VLC media player 2.0.6 Twoflower (revision 2.0.6-0-gbe9623c)
[0x1940e28] dummy interface: using the dummy interface module...
[0x7f502cc01ad8] main demux error: corrupt module: /usr/lib64/vlc/plugins/demux/libmpc_plugin.so
[0x7f502cc01ad8] main demux error: corrupt module: /usr/lib64/vlc/plugins/demux/libsid_plugin.so
[0x7f502cc02a28] main decoder error: corrupt module: /usr/lib64/vlc/plugins/codec/libfluidsynth_plugin.so
[0x7f500c0069c8] main audio output error: corrupt module: /usr/lib64/vlc/plugins/audio_output/libpulse_plugin.so
Fontconfig warning: FcPattern object size does not accept value "0"
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library (null)
ALSA lib conf.c:3777:(snd_config_update_r) hooks failed, removing configuration
[0x7f500c0069c8] alsa audio output error: cannot open ALSA device "sysdefault:CARD=SB": No such file or directory
[0x7f500c0069c8] main audio output error: Audio output failed
[0x7f500c0069c8] main audio output error: The audio device "sysdefault:CARD=SB" could not be used:
No such file or directory.
[0x7f500c0069c8] oss audio output error: cannot open audio device (/dev/dsp)
[0x7f500c0069c8] main audio output error: no suitable audio output module
Fontconfig warning: FcPattern object size does not accept value "0"
[0x7f502cdd4798] main decoder error: failed to create audio output
^Clibgcc_s.so.1 must be installed for pthread_cancel to work
A

因為設備名稱是front; 該CARD=SB,DEV=0部分告訴您它對應於哪個設備。

你需要做類似的事情alsa-audio-device=front

VLC,至少在我的測試中,將採用frontfront:CARD=SB,DEV=0。但是,如果設備實際上不可用,它將出錯。例如,aplay -L將愉快地列出沒有插入任何內容的 HDMI 埠,但嘗試播放它們會產生“沒有這樣的文件或目錄”錯誤。

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