如何使用pacmd来选择输出设备
(由HDMI输出或LineOut输出)
目录
如何设置输出设备
-
Set the default output source
先使用pacmd list-sinks-inputs,找出有那些sink index
再使用pacmd set-default-sink 0 或 pacmd set-default-sink 名字(name)1 2
# pacmd set-default-sink 0 # pacmd set-default-sink alsa_output.pci-0000_00_1f.3.iec958-stereo
-
# pacmd list-sinks-inputs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
1 sink input(s) available. index: 0 driver: <protocol-native.c> flags: state: DRAINED sink: 0 <alsa_output.pci-0000_00_1f.3.iec958-stereo> volume: mono: 65536 / 100% / 0.00 dB balance 0.00 muted: no current latency: 0.00 ms requested latency: 125.00 ms sample spec: s16le 1ch 8000Hz channel map: mono Mono resample method: speex-float-1 module: 11 client: 0 <ALSA plug-in [nvr]> properties: media.name = "ALSA Playback" application.name = "ALSA plug-in [nvr]" native-protocol.peer = "UNIX socket client" native-protocol.version = "30" application.process.id = "823" application.process.user = "root" application.process.host = "localhost.localdomain" application.process.binary = "nvr" application.language = "en_US.UTF-8" window.x11.display = ":0" application.process.machine_id = "591ae69f060143d296b3ab64faea41e1" module-stream-restore.id = "sink-input-by-application-name:ALSA plug-in [nvr]"
Pulseaudio
- What Is PulseAudio?
PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications.
來源:PulseAudio
-
pulseaudio為一個audio service
-
OSS sink表示输出音源部分
从PulseAudio要转到声音设备的介面 -
OSS source表示输入音源部分
任何需要进入到PulseAudio的声音,都会经由source介面
-
- PulseAudio服务软件架构
- 将来自各个不同的音源转到正确的窗口
- 针对不同的应用程式做音量的调整
- 接受多个音源的输入(source)或是输出(sink)
command
pactl命令可以修改伺服器的设置以及配置,但pactl命令仅限于局限的范围
若要完整的功能,就必須要回归到最基本的指令pacmd,通过pacmd指令
才可以完全的控制PulseAudio的服务核心。
- fedora24提供下列指令
- pulseaudio - The PulseAudio Sound System
- pactl - Control a running PulseAudio sound server
- pacmd - Reconfigure a PulseAudio sound server during runtime
-
# pactl info
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Server String: /tmp/pulse-9S2nAsoQttCY/native Library Protocol Version: 30 Server Protocol Version: 30 Is Local: yes Client Index: 8 Tile Size: 65472 User Name: root Host Name: localhost.localdomain Server Name: pulseaudio Server Version: 8.0 Default Sample Specification: s16le 2ch 44100Hz Default Channel Map: front-left,front-right Default Sink: alsa_output.pci-0000_00_1f.3.iec958-stereo Default Source: alsa_input.pci-0000_00_1f.3.analog-stereo Cookie: fca1:256c
-
# pactl list
查看周边,可知目前只有1个source1 2 3 4 5 6 7 8 9 10 11 12
Sink #0 State: RUNNING Name: alsa_output.pci-0000_00_1f.3.iec958-stereo Description: Built-in Audio Digital Stereo (IEC958) Driver: module-alsa-card.c Sample Specification: s16le 2ch 48000Hz Channel Map: front-left,front-right Owner Module: 6 Mute: yes Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Base Volume: 65536 / 100% / 0.00 dB
ALSA
來源:PulseAudio
- ALSA: Advanced Linux Sound Architecture
一个声音的组成,主要是希望所有声音相关的设备厂商可以遵循一样的标准之前比较有名的是OSS架构,现在大部分都被ALSA取代。
在Linux的世界中,要声音的硬件可以正常播放,最重要的元件大概就是ALSA,因為一般硬件的驱动程序或是一些声音相关的库,都是由ALSA所提供
来源:oschina
链接:https://my.oschina.net/u/4368807/blog/4259422