pulseaudio之pacmd命令

天大地大妈咪最大 提交于 2020-04-30 16:59:06

如何使用pacmd来选择输出设备
(由HDMI输出或LineOut输出)


 

目录


如何设置输出设备

來源: PulseAudio/Examples

  • 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]

     

  • PulseAudio服务软件架构
    • 将来自各个不同的音源转到正确的窗口
    • 针对不同的应用程式做音量的调整
    • 接受多个音源的输入(source)或是输出(sink)

[pulseaudio]

 

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个source

    1
    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所提供

[alsa]

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!