名称
pulseaudio-PulseAudio声音系统
概要
pulseaudio [options]
pulseaudio --help
pulseaudio --version
pulseaudio --dump-conf
pulseaudio --dump-modules
pulseaudio --dump-resample-methods
pulseaudio --cleanup-shm
pulseaudio --start
pulseaudio --kill
pulseaudio --check
描述
PulseAudio是用于Linux,POSIX和Windows系统的网络低延迟声音服务器。
选项
-h | --help
显示帮助。
--version
显示版本信息。
--dump-conf
加载守护程序配置文件daemon.conf(请参见下文),解析剩余的配置文件。
命令行上的tion选项,然后将生成的守护程序配置转储到
与daemon.conf兼容的格式。
--dump-modules
列出可用的可加载模块。与-v结合使用可获得更详尽的列表。
--dump-resample-methods
列出可用的音频重采样器。
--cleanup-shm
在/ dev / shm中识别过时的PulseAudio POSIX共享内存段,并尽可能删除它们。每当新守护程序启动或客户端尝试执行此操作时,都会隐式完成此操作。
连接到守护程序。通常不必手动发出此命令。仅在通过POSIX共享内存段实现的系统上可用
挂载到/ dev / shm的虚拟文件系统(例如Linux)。
--start
如果尚未运行,请启动PulseAudio。这与在不使用--start的情况下启动PulseAudio不同,如果PA已在运行,则它将失败。PulseAudio保证可以
此调用返回时将完全初始化。暗示--daemonize。
-k | --kill
杀死调用用户已经运行的PulseAudio守护程序(等同于发送SIGTERM)。
--check
当PulseAudio守护程序已经为调用用户运行时,返回0作为返回代码,否则返回非零。除了以下错误外,控制台上不产生任何输出
stderr。
--system[=BOOL]
作为系统级实例而不是每个用户运行。请注意,这会禁用PulseAudio的某些功能,通常不建议使用,除非系统知道
没有本地用户(例如,瘦客户端)。此功能需要特殊的配置和专用的UNIX用户设置。强烈建议将其与--disallow-module-loading结合使用(请参见下文)。
-D | --daemonize[=BOOL]
启动后进行守护进程,即与终端分离。请注意,作为systemd服务运行时,应使用--daemonize = no来使systemd通知起作用。
--fail[=BOOL]
当启动脚本default.pa(请参见下文)中指定的任何命令失败时,启动失败。
--high-priority[=BOOL]
尝试获得较高的Unix良好级别。仅当主叫用户的RLIMIT_NICE资源限制设置为非零(在支持此功能的系统上)时,此方法才能成功,或者
称为SUID root(请参见下文),或者我们被配置为作为系统守护程序运行(请参见上述--system)。建议启用此功能,因为它只是可以忽略的安全风险(请参阅下文)。
--realtime [= BOOL]
尝试获取PulseAudio的I / O线程的实时调度。仅当主叫用户的RLIMIT_RTPRIO资源限制设置为非零(在支持此功能的系统上),或者被称为SUID root(请参见下文),或者被配置为作为系统守护程序运行(请参见- -上面的系统)。建议仅对受信任的用户启用此功能,因为这是主要的安全风险(请参阅下文)。
--disallow-module-loading [= BOOL]
启动后禁止加载模块。这是一项安全功能,因为它不允许在运行时和应用户请求额外加载模块。强烈推荐
使用--system时(请参见上文)。但是请注意,这会破坏某些功能,例如在热插拔上自动加载模块。
--disallow-exit [= BOOL]
禁止用户请求退出
--exit-idle-time =秒数
空闲时终止守护程序,并经过指定的秒数。
--scache-idle-time =秒
在指定的秒数内未使用自动加载的样本时,请从缓存中卸载它们。
--log-level [= LEVEL]
如果传递了参数,则将日志级别设置为指定的值,否则将配置的详细级别提高一。日志级别是从0到4的数字,对应于
响应错误,警告,通知,信息,调试。默认的日志级别是notice,即打印所有具有较低日志级别的日志消息:错误,警告,注意。
-v | -详细
将配置的详细级别增加一(请参阅上面的--log-level)。多次指定以多次提高日志级别。
--log-target = {auto,syslog,journal,stderr,file:PATH,newfile:PATH}
指定日志目标。如果设置为auto(默认设置),则在传递--daemonize时将日志记录定向到syslog,否则定向到STDERR。如果设置为日志,日志记录将定向到系统日志。如果设置为file:PATH,则将日志记录定向到PATH指示的文件。newfile:PATH在其他方面与file:PATH相同,但是现有文件永远不会被覆盖。如果指定的文件已经存在,则将后缀添加到文件名中以避免覆盖。
--log-meta [= BOOL]
在日志消息中显示源代码位置。
--log-time [= BOOL]
在日志消息中显示时间戳。
--log-backtrace=FRAMES
当FRAMES大于0时,为每个消息记录堆栈跟踪,直到指定的堆栈帧数。
-p | --dl-search-path=PATH
设置动态共享对象(插件)的搜索路径。
--resample-method=METHOD
默认情况下使用指定的重采样器(有关可能的值,请参见上面的--dump-resample-methods)。
--use-pid-file [= BOOL]
创建一个PID文件。如果禁用此选项,则可以为每个用户运行多个声音服务器。
--no-cpu-limit [= BOOL]
不要在支持它的平台上安装CPU负载限制器。默认情况下,当PulseAudio注意到它占用过多的CPU时间时,它将自行终止。当使用实时调度时,这对于防止系统锁定很有用(请参阅下文)。使用诸如valgrind(1)之类的工具调试PulseAudio会减慢执行速度时,禁用此机制很有用。
--disable-shm [= BOOL]
PulseAudio客户端和服务器可以通过POSIX或memfd共享内存段(在支持此功能的系统上)交换音频数据。如果禁用,PulseAudio将仅通过套接字进行通信。请注意,在启用--system的情况下运行PulseAudio时,始终禁用通过共享内存段进行数据传输(请参见上文)。
--enable-memfd [= BOOL]
PulseAudio客户端和服务器可以通过memfds(匿名Linux内核共享内存机制)(在支持此功能的内核上)交换音频数据。如果禁用
PulseAudio将通过POSIX共享内存进行通信。
-L | --load =“ MODULE ARGUMENTS”
使用指定的参数加载指定的插件模块。
-F | --file = FILENAME
启动时运行指定的脚本。可以指定多次,以指定要按顺序运行的多个脚本。与-n结合使用以禁用默认脚本default.pa的加载(请参见下文)。
-C启动后在STDIN / STDOUT上打开命令解释器。这可用于在运行时动态配置PulseAudio。等效于--load = module-cli。
-n启动时不加载默认脚本文件default.pa(请参见下文)。与-C或--file一起使用时很有用。
FILES
~/.config/pulse/daemon.conf, /etc/pulse/daemon.conf:PulseAudio守护程序的配置设置。如果用户主目录中的版本不存在,则将加载全局配置文件。有关更多信息,请参见pulse-daemon.conf(5)。
~/.config/pulse/default.pa, /etc/pulse/default.pa:启动PulseAudio守护程序时要执行的默认配置脚本。如果用户主目录中的版本不存在,则将加载全局配置脚本。有关更多信息,请参见default.pa(5)。
~/.config/pulse/client.conf, /etc/pulse/client.conf:PulseAudio客户端应用程序的配置设置。如果用户主目录中的版本不存在,则将加载全局配置文件。有关更多信息,请参见pulse-client.conf(5)。
SIGNALS
SIGINT,SIGTERM:PulseAudio守护程序将关闭(与–kill相同)。
SIGHUP:根据配置将长状态报告转储到STDOUT或syslog。
SIGUSR1:加载module-cli,允许运行时通过STDIN / STDOUT重新配置。
SIGUSR2:加载module-cli-protocol-unix,从而允许通过AF_UNIX套接字重新配置运行时。有关更多信息,请参见pacmd(1)。
UNIX组和用户
组pulse-rt:如果PulseAudio二进制文件标记为SUID root,则该组中calling用户的成员资格决定是否启用实时和/或高优先级调度。
请注意,启用实时调度存在安全风险(请参阅下文)。
组pulse-access:如果PulseAudio作为系统守护程序运行(请参阅上面的–system),则当该组的成员通过AF_UNIX套接字连接时,将授予其访问权限。如果PulseAudio作为用户守护程序运行,则该组没有任何意义。
用户脉冲,组脉冲:如果PulseAudio作为系统守护程序运行(请参阅上面的–system)并以root用户身份启动,则该守护程序将放弃特权并使用该用户和组成为普通用户进程。如果PulseAudio作为用户守护程序运行,则该用户和组没有任何意义。
实时和高优先级计划
为了最大程度地降低播放过程中丢失的风险,如果基础平台支持,建议使用实时调度运行PulseAudio。这使PulseAudio守护程序的调度等待时间与系统负载分离,因此是确保PulseAudio在需要其重新填充硬件播放缓冲区时始终获得CPU时间的最佳方法。不幸的是,这在大多数系统上都是安全隐患,因为PulseAudio是作为用户进程运行的,并且为用户进程提供实时调度特权总是伴随着用户滥用其锁定系统的风险-这可能是由于创建进程而造成的。实时有效地禁用了抢占。
为了最大程度地降低风险,PulseAudio默认情况下不会启用实时调度。但是,建议在受信任的系统上启用它。为此,请使用--realtime(请参见上文)启动PulseAudio或在daemon.conf中启用相应的选项。由于获取实时调度是大多数系统上的特权操作,因此需要对系统配置进行一些特殊更改,以允许主叫用户使用它们。有两个选项:
在较新的Linux系统上,系统资源限制RLIMIT_RTPRIO(有关更多信息,请参见setrlimit(2))可用于允许特定用户获取实时调度。可以在/etc/security/limits.conf中进行配置,建议资源限制为9。
或者,可以为PulseAudio二进制设置SUID根位。然后,守护程序将在启动时立即放弃root特权,但是保留CAP_NICE功能(在支持该功能的系统上),但前提是主叫用户是Pulse-rt组的成员(请参见上文)。对于所有其他用户,所有功能将立即删除。该解决方案的优势在于,实时特权仅授予PulseAudio守护程序,而不授予所有用户进程。
或者,如果认为锁定机器的风险太大而无法启用实时调度,则可以启用高优先级调度(即,负好级别)。
可以通过在启动PulseAudio时传递--high-priority(请参见上文)来启用它,也可以使用daemon.conf中的适当选项来启用它。只有设置了适当的资源限制RLIMIT_NICE(有关更多信息,请参见setrlimit(2))(可能在/etc/security/limits.conf中配置),才能启用负的尼斯级别。建议将资源限制为31(对应于不错的-11级)。
环境变量
PulseAudio客户端库检查是否存在以下环境变量,并相应地更改其本地配置:
$ PULSE_SERVER:服务器字符串,指定客户端请求声音服务器连接且未明确要求特定服务器时要连接的服务器。服务器字符串是由空格分隔的服务器地址的列表,依次尝试。服务器地址由一个可选的地址类型说明符(unix:, tcp:, tcp4:, tcp6:)组成,后跟路径或主机地址。主机地址可以包括可选的端口号。服务器地址可以用{}中的字符串作为前缀。在这种情况下,以下服务器地址为ig-
除非前缀字符串等于本地主机名或计算机ID(/ etc / machine-id),否则不进行操作。
$ PULSE_SINK:当客户端创建回放流且未明确要求特定接收器时,要连接到的接收器的符号名称。
$ PULSE_SOURCE:客户端创建记录流且未明确要求特定来源时要连接的来源的符号名称。
$ PULSE_BINARY:使用服务器自动生成时运行的PulseAudio可执行文件的路径。
$ PULSE_CLIENTCONFIG:用于客户端配置的应读取的文件路径,而不是client.conf(请参见上文)。
$ PULSE_COOKIE:包含PulseAudio身份验证cookie的文件的路径。默认为~/.config/pulse/cookie。
这些环境设置(如果已设置)优先于client.conf中的配置设置(请参见上文)。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>;
可从http://pulseaudio.org/获得PulseAudio。
也可以看看
pulse-daemon.conf(5),default.pa(5),pulse-client.conf(5),pacmd(1)
手册用户pulseaudio(1)
pulse-daemon.conf(5)文件格式手册pulse-daemon.conf(5)
名称
pulse-daemon.conf-PulseAudio守护程序配置文件
概要
~/.config/pulse/daemon.conf
~/.config/pulse/daemon.conf.d/*.conf
/etc/pulse/daemon.conf
/etc/pulse/daemon.conf.d/*.conf
描述
PulseAudio声音服务器在启动时会从配置文件中读取配置指令。如果存在每个用户文件~/.config/pulse/daemon.conf
,则使用它,否则使用系统配置文件/etc/pulse/daemon.conf
。除了这些主文件之外,还可以将配置指令放在目录~/.config/pulse/daemon.conf.d/
和/etc/pulse/dae‐mon.conf.d/
下的文件中。
这些文件必须具有.conf文件扩展名,否则可以自由选择文件名。daemon.conf.d下的文件按字母顺序处理。如果在多个文件中设置了相同的选项,则最后一个设置选项的文件将覆盖较早的文件。首先处理主daemon.conf
文件,因此daemon.conf.d
下文件中设置的选项将覆盖主文件。
请注意,服务器在启动时还会读取配置脚本。参见default.pa(5)
。
配置文件是变量声明的简单集合。如果配置文件解析器遇到任何一个;或#会忽略行的其余部分,直到结束。
对于采用布尔参数的设置,值true,yes,on和1等效。false, no, off,和0等效。
通用指令
daemonize =
启动后进行守护程序。布尔值,默认为no。--daemonize命令行选项优先。
fail =
如果配置脚本default.pa中的任何指令失败,则无法启动。采用布尔型参数,默认为yes。--fail命令行选项优先。
allow-module-loading =
启动后允许/禁止加载模块。这是一项安全功能,如果禁用此功能,请确保启动完成后,不能再将其他模块加载到PulseAudio服务器中。建议在启用系统实例时禁用此功能。请注意,如果启用此选项,某些功能(如自动热插拔支持)将无法使用。采用布尔型参数,默认为yes。--disallow-module-loading命令行选项优先。
allow-exit =
允许/禁止根据用户请求退出。默认为是。
resample-method =
要使用的重采样算法。使用src-sinc最佳质量,src-sinc-中等质量,src-sinc最快,src-零阶保持,src-linear,琐碎,speex-float-N,speex-fixed-N中的一种,ffmpeg,soxr-mq,soxr-hq,soxr-vhq。分别参见libsamplerate和speex的文档以获取有关不同src-和speex-方法的说明。琐碎的方法是最基本的算法。如果您的CPU紧张,请考虑使用此功能。另一方面,它们的质量最差。Speex重采样器采用整数质量设置,范围为0..10(不好...好)。它们以两种形式存在:固定和浮动。前者使用定点数,后者使用浮点数。在大多数台式机CPU上,浮点重采样器要快得多,而且它的质量也稍好一些。soxr系列方法基于libsoxr,libsoxr是SoX声音处理实用程序中的重采样器库。mq变体在这三个中表现最佳。Soq开发人员认为,hq较为昂贵,并且被认为是每个样本最多16位音频的最佳选择。vhq变量比hq精度更高,并且更适合于较大的样本。与其他重新采样器(例如speex)相比,Soxr重新采样器通常在更少的CPU上提供更好的质量。缺点是它们会给输出增加明显的延迟(通常最多20毫秒左右,在极少数情况下会更长)。有关所有可用重采样器的完整列表,请参见dump-resample-methods的输出。默认为speex-float-1。--resample-method命令行选项优先。
prevent-resampling =
如果设置,请尝试配置设备以避免重新采样。这仅在支持重新配置其速率的设备上以及没有其他流正在播放或捕获音频的设备上起作用。该设备的配置速率也不会低于默认采样率和备用采样率。
enable-remixing =
如果禁用,则永远不会将通道上混或下混到不同的通道映射。而是仅进行简单的基于名称的匹配。默认为是。
remixing-use-all-sink-channels =
如果启用,则在重新混合时使用所有接收器通道。否则,请重新混合到再现所有源通道所需的最小接收器通道集。(这对LFE混音没有影响。)默认为是。
enable-lfe-remixing =
如果在上混或下混时禁用,则忽略LFE通道。禁用此选项后,仅当输入LFE通道可用时,输出LFE通道也将获得信号。如果没有输入LFE通道可用,则输出LFE通道将始终为0。如果没有输出LFE通道可用,则将忽略输入LFE通道上的信号。默认为否。
lfe-crossover-freq =
LFE滤波器的交叉频率(以Hz为单位)。将其设置为0以禁用LFE滤波器。预设为0。
use-pid-file =
在运行时目录中创建PID文件($XDG_RUNTIME_DIR/pulse/pid)。如果启用此功能,则可以使用--kill或--check之类的命令。如果您计划每个用户启动一个以上的PulseAudio进程,则最好禁用此选项,因为它实际上会禁用多个实例。采用布尔型参数,默认为yes。--use-pid-file命令行选项优先。
cpu-limit =
如果禁用,则即使在受支持的平台上也不要安装CPU负载限制器。在调试/分析PulseAudio以禁用干扰的SIGXCPU信号时,此选项很有用。
接受布尔参数,默认为no。--no-cpu-limit命令行参数优先。
system-instance =
作为系统级实例运行守护程序,需要root特权。接受布尔参数,默认为no。--system命令行参数优先。
local-server-type =
如果不需要,请不要使用此选项!当前仅当您希望D-Bus客户端使用远程服务器时,此选项才有用。在将来的版本中可能会删除此选项。如果只想在系统模式下运行PulseAudio,请使用system-instance选项。此选项将用户,系统之一或不作为参数。这本质上是system-instance选项的副本。不同之处在于none选项,当您要将远程服务器与D-Bus客户端一起使用时,该选项很有用。如果同时定义了this和system-instance,则此选项优先。默认为设置的系统实例。
enable-shm =
启用通过POSIX或memfd共享内存的数据传输。采用布尔型参数,默认为yes。--disable-shm命令行参数优先。
enable-memfd =
启用memfd共享内存。采用布尔型参数,默认为yes。
shm-size-bytes =
设置守护程序的共享内存段大小(以字节为单位)。如果未指定或设置为0,它将默认为某些系统特定的默认值,通常为64 MiB。请注意,通常不需要更改此值,除非您运行的OS内核不执行内存过量使用。
lock-memory =
将整个PulseAudio进程锁定到内存中。当与实时调度结合使用时,这可能会增加drop-out安全性,但这会占用其他进程大量的内存,因此可能会大大降低系统速度。默认为否。
flat-volumes =
启用“平坦”音量,即,在可能的情况下,使接收器音量等于与其连接的输入的最大音量。采用布尔型参数,默认为yes。
SCHEDULING
high-priority =
启动后重新启动守护进程,使其成为高优先级进程。如果您在播放过程中掉线了,这是一个好主意。但是,这是一个特定的安全问题,因为它仅在被称为SUID root或使用RLIMIT_NICE时才起作用。在启动时获得不错的级别后,root会立即删除,因此大概是安全的。有关更多信息,请参见pulseaudio(1)。采用布尔型参数,默认为yes。--high-priority命令行选项优先。
realtime-scheduling =
尝试获取IO线程的SCHED_FIFO调度。与上述相同的安全问题也适用。但是,如果PA进入无限循环,则实时调度会导致系统锁定。因此,目前仅应在受信任的计算机上启用实时调度。请注意,只有PulseAudio的IO线程是实时的。控制线程保留为正常调度的线程。因此启用高优先级选项是正交的。有关更多信息,请参见pulseaudio(1)。采用布尔型参数,默认为yes。--realtime命令行选项优先。
realtime-priority =
如果启用了实时计划,则要获取的实时优先级。注意:默认情况下,JACK使用10,客户端使用9。因此,建议选择较低的PulseAudio实时优先级。一些PulseAudio线程可能会选择一个比指定值低或高的优先级。默认为5。
nice-level =
如果启用了高优先级,则为守护程序获取的良好级别。注意:在某些发行版中,X11默认使用-10。默认为-11。
空闲时间
exit-idle-time =
在最后一个客户端退出并且此时间以秒为单位之后终止守护程序。使用负值禁用此功能。默认值为20。--exit-idle-time命令行选项优先。
scache-idle-time =
空闲一段时间后以秒为单位卸载自动加载的样本高速缓存条目。默认值为20。--scache-idle-time命令行选项优先。
路径
dl-search-path =查找动态共享库(DSO /插件)的路径。您可以指定多个路径,并用冒号分隔。默认路径取决于编译时间设置。--dl-search-path命令行选项优先。
default-script-file =要加载的默认配置脚本文件。指定一个空字符串以不加载默认脚本文件。默认行为是加载〜/ .config / pulse / default.pa,如果该文件不存在,则回退到系统范围内已安装的版本/etc/pulse/default.pa。如果在系统范围内运行,则使用文件/etc/pulse/system.pa代替。如果在命令行上传递-n或禁用default-script-file =,则默认配置脚本将被忽略。
load-default-script-file =加载在default-script-file =中指定的默认配置脚本文件。默认为是。
LOGGING
log-target =
默认日志目标。使用stderr,syslog,journal(可选),auto,file:PATH或newfile:PATH。在传统系统上,auto等同于syslog。在启用了systemd的系统上,如果启用了守护程序,则auto等效于日志,否则等效于stderr。如果设置为file:PATH,则将日志记录定向到PATH指示的文件。newfile:PATH在其他方面与file:PATH相同,但是现有文件永远不会被覆盖。如果指定的文件已经存在,则将后缀添加到文件名中以避免覆盖。默认为自动。--log-target命令行选项优先。
log-level =
日志级别,调试,信息,通知,警告,错误之一。日志级别低于此处指定的日志消息不会被记录。默认为注意。--log-level命令行选项优先。-v命令行选项可能会更改此设置。
log-meta =
对于每个记录的消息日志,生成消息的代码位置。默认为否。
log-time =
对于每条记录的消息,日志自启动以来的相对时间。默认为否。
log-backtrace =
大于0时,对于每个记录的消息日志,代码堆栈都会跟踪指定数量的堆栈帧。预设为0。
资源限制
有关更多信息,请参见getrlimit(2)。如果PulseAudio不会触及资源限制,则设置为-1。并非所有资源限制在所有操作系统上都可用。
rlimit-as默认为-1。
rlimit-rss默认为-1。
rlimit-core默认为-1。
rlimit-data默认为-1。
rlimit-fsize缺省为-1。
rlimit-nofile默认为256。
rlimit-stack默认为-1。
rlimit-nproc默认为-1。
rlimit-locks默认为-1。
rlimit-sigpending默认为-1。
rlimit-msgqueue默认为-1。
rlimit-memlock默认为16 KiB。请注意,JACK客户端库可能需要更多的锁定内存。
rlimit-nice默认值为31。如果启用了高优先级,请确保使用nice-level配置的默认nice级适合此资源限制。
rlimit-rtprio默认为9。如果启用了实时计划,请确保使用realtime-priority =配置的默认实时优先级适合该资源限制。默认情况下,JACK客户端库要求实时优先级为9。
rlimit-rttime默认为1000000。
默认设备设置
大多数驱动程序尝试使用这些设置打开音频设备,然后回退到较低的设置。默认设置为CD质量:16位本机字节序,2个通道,44100 Hz采样。
default-sample-format =
默认采样格式。指定u8,s16le,s16be,s24le,s24be,s24-32le,s24-32be,s32le,s32be中的一个float32le,float32be,ulaw,alaw。根据CPU的字节顺序,格式s16ne,s16re,s24ne,s24re,s24-32ne,s24-32re,s32ne,s32re,float32ne,float32re(对于本机,分别是反向字节序)可用作别名。
default-sample-rate =
默认采样频率。
default-sample-channels =
默认通道数。
default-channel-map =
默认频道地图。
交替采样率交替采样频率。接收器和信源将使用默认采样率值或此备用值,通常为44.1或48kHz。仅当接收器/源挂起时才启用默认值和备用值之间的切换。在将使用流速率的直通模式下,将忽略此选项。如果设置为与默认采样率相同的值,则会禁用此功能。
默认片段设置
某些硬件驱动程序要求将硬件播放缓冲区细分为几个片段。对于具有高调度延迟的计算机,可以更改这些缓冲区度量。并非此处可能配置的所有可能值在所有硬件中都可用。驾驶员会找到支持的最接近设置。支持基于计时器的计划的现代驱动程序会忽略这些选项。
default-fragments =默认的片段数。默认为4。
default-fragment-size-msec =单个片段的持续时间。默认值为25ms(即总缓冲区长度为100ms)。
默认延迟的音量设置(DEFAULT DEFERRED VOLUME SETTINGS)
启用固定音量功能后,接收器硬件音量将设置为与最高音量输入流相同的水平。任何其他流(具有较小音量)在SW中都进行了适当的调整,以使其达到正确的整体水平。令人遗憾的是,硬件混音器的更改无法准确计时,因此,这种音量更改有时会导致最终的输出声音瞬时太响或太柔和。因此,为了确保同时应用SW和HW卷而不会出现任何故障,它们的应用程序需要同步。接收器实现需要支持延迟的卷。以下参数可用于优化过程。
enable-deferred-volume =
为支持它的接收器启用延迟卷。默认情况下启用此功能。
deferred-volume-safety-margin-usec =
延迟增加硬件体积并提前减少硬件体积的时间(用时)。默认为8000 usec。
deferred-volume-extra-delay-usec =
硬件体积更改被延迟的时间(以usec计)。负值也是允许的。预设为0。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 可从http://pulseaudio.org/获得PulseAudio。
也可以看看
pulse-client.conf(5),default.pa(5),pulseaudio(1),pacmd(1)
手册用户pulse-daemon.conf(5)
pulse-client.conf(5)文件格式手册pulse-client.conf(5)
名称
pulse-client.conf-PulseAudio客户端配置文件
概要
~/.config/pulse/client.conf
~/.config/pulse/client.conf.d/*.conf
/etc/pulse/client.conf
/etc/pulse/client.conf.d/*.conf
描述
PulseAudio客户端库在启动时会从配置文件中读取配置指令。
如果存在每个用户文件~/.config/pulse/client.conf
,则使用它,否则使用系统配置文件/etc/pulse/client.conf
。除了这些主文件之外,还可以将配置指令放在目录~/.config/pulse/client.conf.d/
和/etc/pulse/client.conf.d/
下的文件中。这些文件必须具有.conf文件扩展名,否则可以自由选择文件名。client.conf.d下的文件按字母顺序处理。如果在多个文件中设置了相同的选项,则最后一个设置选项的文件将覆盖较早的文件。首先处理main.conf主文件,因此在client.conf.d下的文件中设置的选项将覆盖主文件。
配置文件是变量声明的简单集合。如果配置文件解析器遇到任何一个;或#会忽略行的其余部分,直到结束。
对于采用布尔参数的设置,值true,yes,on和1等效。false,no,off和0等效。
指令
default-sink =
要连接的默认接收器。如果指定,则覆盖守护程序中的设置。
但是,环境变量$PULSE_SINK优先。
default-source =
要连接的默认源。如果指定,则覆盖守护程序中的设置。但是,环境变量$PULSE_SOURCE优先。
default-server =
要连接的默认服务器。环境变量$ PULSE_SERVER优先。
autospawn =
必要时自动生成PulseAudio守护程序。布尔值,默认为是。
daemon-binary =
自动生成时要运行的PulseAudio守护程序的路径。默认为在编译时配置的路径。
extra-arguments =
自动生成时传递给PulseAudio守护程序的额外参数。默认为--log-target = syslog
cookie-file =
指定PulseAudio身份验证cookie的路径。默认为~/.config/pulse/cookie。
enable-shm =
启用通过POSIX或memfd共享内存的数据传输。采用布尔型参数,默认为yes。如果设置为no,则与服务器的通信将完全通过套接字上的数据复制来完成。
enable-memfd =
通过memfd共享内存启用数据传输。采用布尔型参数,默认为yes。
shm-size-bytes =
设置客户端的共享内存段大小,以字节为单位。如果未指定或设置为0,它将默认为某些系统特定的默认值,通常为64 MiB。请注意,通常不需要更改此值,除非您运行的OS内核不执行内存过量使用。
auto-connect-localhost =
自动尝试通过IP连接到localhost。启用此功能可能会导致安全漏洞,因为连接仅通过单向身份验证,因此流氓服务器可能会欺骗客户端,向客户端发送其私有(例如VoIP呼叫)数据。默认情况下在PulseAudio 0.9.21及更高版本上启用此功能。默认为否。
auto-connect-display =
自动尝试连接到主机X11的$ DISPLAY变量设置为。
同样的安全问题也适用于auto-connect-localhost =。默认为否。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 脉冲音频
可从http://pulseaudio.org/获得
也可以看看
pulse-daemon.conf(5),pulseaudio(1)
手册用户pulse-client.conf(5)
default.pa(5)文件格式手册default.pa(5)
名称
default.pa-PulseAudio声音服务器启动脚本
概要
~/.config/pulse/default.pa
/etc/pulse/default.pa
/etc/pulse/system.pa
描述
PulseAudio声音服务器在启动时会解释配置脚本,该脚本主要用于定义要加载的模块集。当PulseAudio在每个用户模式下运行并且存在~/.config/pulse/default.pa
时,将使用该文件。当PulseAudio在按用户模式下运行并且该文件不存在时,将使用/etc/pulse/default.pa。当PulseAudio作为系统服务运行时,将使用/etc/pulse/system.pa。
该脚本应包含PulseAudio CLI语言中的伪指令,如pulse-cli-syntax(5)中所述。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 可从http://pulseaudio.org/获得PulseAudio。
也可以看看
pulse-cli-syntax(5), pulse-daemon.conf(5), pulseaudio(1), pacmd(1)
手册用户default.pa(5)
pulse-cli-syntax(5)文件格式手册pulse-cli-syntax(5)
名称
pulse-cli-syntax-PulseAudio命令行界面语法
概要
~/.config/pulse/default.pa
/etc/pulse/default.pa
/etc/pulse/system.pa
描述
PulseAudio提供了一种简单的命令行语言,供配置脚本,pacmd交互式shell和模块module-cli和module-cli-protocol- {unix,tcp}使用。空行和以井号(#)开头的行将被忽略。支持几个命令。
请注意,任何布尔型参数都可以肯定地指定为“ 1”,“ t”,“ y”,“ true”,“ yes”或“ on”。同样,可以将负值指定为“ 0”,“ f”,“ n”,“ false”,“ no”或“ off”。大小写被忽略。
一般命令
help
显示有关可用命令的快速帮助。
状态命令
list-modules
显示所有当前加载的模块及其参数。
list-cards
显示所有当前注册的卡
list-sinks or list-sources
显示所有当前注册的接收器(源)。
list-clients
显示所有当前活动的客户端。
list-sink-inputs or list-source-outputs
将所有当前活动的输入显示为接收器(也称为回放流)(源或记录流的源输出)。
stat
显示有关已分配内存块及其使用空间的一些简单统计信息。
info or ls or list
上述所有状态命令的组合(所有三个命令都是同义词)。
模块管理
load-module name [arguments...]
加载由模块名称和参数指定的模块。对于大多数模块,可以多次加载。
unload-module index|name
卸载模块,该模块由模块列表中的索引或名称指定。
describe-module name
提供有关由模块名称指定的模块的信息。
音量指令
set-sink-volume|set-source-volume index|name volume
设置指定接收器(源)的音量。您可以通过接收器/源列表中的接收器索引或名称来指定接收器(源)。该音量应为大于或等于0(静音)的整数值。音量65536(0x10000)是“正常”音量,也就是100%。大于此值的值会放大音频信号(带有削波)。
set-sink-mute|set-source-mute index|name boolean
将指定的接收器(源)静音或取消静音。您可以通过其索引或名称来指定接收器(源)。静音值为0(未静音)或1(静音)。
set-sink-input-volume|set-source-output-volume index volume
设置由其索引指定的接收器输入(源输出)的音量。应用与set-sink-volume相同的音量规则。
set-sink-input-mute|set-source-output-mute index boolean
使由其索引指定的接收器输入(源输出)静音或取消静音。相同的静音规则与set-sink-mute相同。
配置命令
set-default-sink|set-default-source index|name
将接收器(源)作为默认值。您可以通过接收器(源)列表中的索引来指定接收器(源)。
请注意,默认值可能会被各种策略模块或特定的流配置覆盖。
set-card-profile index|name profile-name
更改卡的配置文件。
set-sink-port|set-source-port index|name port-name
更改接收器的配置文件(源)。
set-port-latency-offset card-index|card-name port-name offset
更改属于指定卡的端口的延迟偏移量
suspend-sink|suspend-source name|index true|false
挂起或恢复指定的接收器或源(可以通过其名称或索引来指定),取决于将true(挂起)还是false(恢复)作为最后一个参数传递。暂停接收器将暂停所有播放,暂停播放源将暂停所有捕获。根据实现接收器或源的模块,这可能会导致底层设备关闭,使其可供其他应用程序使用。确切的行为取决于模块。
suspend boolean
暂停所有接收器和源。
移动流
move-sink-input|move-source-output index sink-index|sink-name
将接收器输入(源输出)移动到另一个接收器(源)。
物业清单(PROPERTY LISTS)
update-sink-proplist|update-source-proplist index|name properties
更新由名称或索引指定的接收器(源)的属性。该属性被指定为例如device.description =“ My Preferred Name”
update-sink-input-proplist|update-source-output-proplist index properties
更新索引指定的接收器输入(源输出)的属性。属性如上所述。
样本缓存
list-samples
列出样本缓存的内容。
play-sample name sink-index|sink-name
将样本缓存条目播放到接收器(sink)。
remove-sample name
从示例缓存中删除一个条目。
load-sample name filename
将音频文件加载到样本缓存。
load-sample-lazy name filename
在样本缓存中创建一个新条目,但不要立即加载样本。仅在首次使用时加载样本。在一定的空闲时间后,它将再次释放。
load-sample-dir-lazy path
将指定目录中的所有条目作为惰性条目加载到样本缓存中。可以将shell遍历表达式(例如* .wav)附加到要添加的目录路径中。
杀死客户/流
kill-client index
从服务器上强行删除客户端。无法防止客户端立即重新连接。
kill-sink-input|kill-source-output index
从服务器上强行卸下接收器输入(源输出)。这不会从服务器中删除拥有的客户端或同一客户端打开的任何其他流。
日志命令
set-log-level numeric-level
更改日志级别。
set-log-meta boolean
在日志消息中显示源代码位置。
set-log-target target
更改日志目标(空,自动,日志,系统日志,stderr,文件:PATH,新文件:PATH)。
set-log-time boolean
在日志消息中显示时间戳。
set-log-backtrace num-frames
在日志消息中显示回溯。
其他命令(MISCELLANEOUS COMMANDS)
play-file filename sink-index|sink-name
将音频文件播放到接收器。
dump
在CLI命令中转储守护程序的当前配置。
dump-volumes(转储量)
调试:显示所有卷的当前状态。
shared Debug(共享调试)
显示共享属性。
exit
终止守护程序。如果要终止CLI连接(“注销”),则可能要使用ctrl + d
元命令(META COMMANDS)
除了上述命令外,命令行解释器还支持一些meta指令。
.include filename|folder
从指定的脚本文件或文件夹中所有* .pa文件中执行命令。
.fail和.nofail
启用(禁用)以下失败的命令将取消当前脚本文件的执行。在交互式命令行上使用时,将忽略它。
.ifexists filename
仅当指定文件存在时,才执行后续命令块。文件名通常表示一个模块。相对路径使用模块目录作为基础来解析。通过使用绝对路径,也可以检查其他文件的存在。
.else和.endif
命令块由.else或.endif元命令定界。不支持嵌套条件命令。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 可从http://pulseaudio.org/获得PulseAudio。
也可以看看
default.pa(5),pacmd(1),pulseaudio(1)
手册用户pulse-cli-语法(5)
pacmd(1)通用命令手册pacmd(1)
名称
pacmd-在运行时重新配置PulseAudio声音服务器
概要
pacmd
pacmd --help
pacmd --version
描述
该工具可用于在运行期间自省(introspect)或重新配置正在运行的PulseAudio声音服务器。它连接到声音服务器,并提供了一个简单的实时shell,可用于输入在default.pa配置脚本中也可以理解的命令。
要退出活动shell,请使用ctrl + d。请注意,shell程序内的“exit”命令将告知PulseAudio守护程序本身关闭!
如果在命令行上传递了任何参数,它们将被传递到活动shell中,该shell将处理命令并退出。
选项
-h | --help
显示帮助。
--version
显示版本信息。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 可从http://pulseaudio.org/获得PulseAudio。
也可以看看
pulse-cli-syntax(5), pulseaudio(1), pactl(1), default.pa(5)
手册用户pacmd(1)
pactl(1)通用命令手册pactl(1)
名称
pactl-控制正在运行的PulseAudio声音服务器
概要
pactl [options] COMMAND [ARGS ...]
pactl --help
pactl --version
描述
pactl可用于向PulseAudio声音服务器发出控制命令。
pactl仅公开可用操作的子集。对于全套,请使用pacmd(1)。
选项
-h | --help
显示帮助。
--version
显示版本信息。
-s | --server=SERVER
选择要连接的服务器。
-n | --client-name=NAME
指定客户端名称pactl在连接时将传递给服务器。
指令
stat
转储有关PulseAudio守护程序的内存使用情况的一些统计信息。
info
转储有关PulseAudio守护程序的一些信息。
list [short] [TYPE]
转储所有当前加载的模块,可用的接收器,源,流等。TYPE必须是以下之一:模块,接收器,源,接收器输入,源输出,客户端,样本,卡。如果未指定,则列出所有信息。如果给出short,则输出采用表格格式,以便于脚本轻松解析。
exit
要求PulseAudio服务器终止。
upload-sample FILENAME [NAME]
将声音从指定的音频文件上载到样本缓存中。支持的文件类型是libsndfile可以理解的文件类型。除非明确指定名称,否则高速缓存中的样本将以音频文件命名。
play-sample NAME [SINK]
从样本缓存中播放指定的样本。除非指定要在其上播放的接收器的符号名称或数字索引,否则它将在默认接收器上播放。
remove-sample NAME
从样品缓存中删除指定的样品。
load-module NAME [ARGUMENTS ...]
将具有指定参数的指定模块加载到运行的声音服务器中。打印刚加载到STDOUT的模块的数字索引。您可以使用它稍后卸载模块。
unload-module ID|NAME
卸载由指定数字索引标识的模块实例,或卸载具有指定名称的所有模块。
move-sink-input ID SINK
将指定的播放流(由其数字索引标识)移动到指定的接收器(由其符号名称或数字索引标识)。
move-source-output ID SOURCE
将指定的记录流(由其数字索引标识)移动到指定的源(由其符号名称或数字索引标识)。
suspend-sink SINK true|false
挂起或继续指定的接收器(可以通过其名称或索引指定),取决于将true(挂起)还是false(恢复)作为最后一个参数传递。暂停接收器将暂停所有播放。取决于实现接收器的模块,这可能会导致底层设备关闭,使其可供其他应用程序使用。确切的行为取决于模块。
suspend-source SOURCE true|false
暂停或继续指定的源(可以通过其名称或索引来指定),具体取决于将true(挂起)还是false(继续)作为最后一个参数传递。暂停源将暂停所有捕获。根据实现源的模块,这可能会导致底层设备关闭,使其可供其他应用程序使用。确切的行为取决于模块。
set-card-profile CARD PROFILE
将指定的卡(由其符号名称或数字索引标识)设置为指定的配置文件(由其符号名称标识)。
set-default-sink SINK
将指定的接收器(由其符号名称标识)设置为默认接收器。
set-sink-port SINK PORT
将指定的接收器(通过其符号名或数字索引标识)设置为指定的端口(通过其符号名标识)。
set-default-source SOURCE
将指定的源(由其符号名称标识)设置为默认源。
set-source-port SOURCE PORT
将指定的源(由其符号名或数字索引标识)设置为指定的端口(由其符号名标识)。
set-port-latency-offset CARD PORT OFFSET
将延迟延迟设置为属于卡的指定端口(由其符号名称标识)(由其符号名称或数字索引标识)。
OFFSET是一个数字,表示等待时间的偏移量(以微秒为单位)
set-sink-volume SINK VOLUME [VOLUME ...]
设置指定水槽的体积(由其符号名称或数字索引标识)。VOLUME可以指定为整数(例如2000、16384),线性因子(例如0.4、1.100),百分比(例如10%,100%)或分贝值(例如0dB,20dB)。如果音量规格以+或-开头,则音量调整将相对于当前水槽音量。单个音量值会影响所有通道。如果指定了多个音量值,则其数量必须与接收器的通道数量相匹配。
set-source-volume SOURCE VOLUME [VOLUME ...]
设置指定来源的音量(通过其符号名称或数字索引标识)。VOLUME可以指定为整数(例如2000、16384),线性因子(例如0.4、1.100),百分比(例如10%,100%)或分贝值(例如0dB,20dB)。如果音量规格以+或-开头,则音量调整将相对于当前源音量。单个音量值会影响所有通道。如果指定了多个音量值,则其数量必须与源的通道数量相匹配。
set-sink-input-volume INPUT VOLUME [VOLUME ...]
设置指定的接收器输入的音量(由其数字索引标识)。VOLUME可以指定为整数(例如2000、16384),线性因子(例如0.4、1.100),百分比(例如10%,100%)或分贝值(例如0dB,20dB)。如果音量规格以+或-开头
调整将相对于当前接收器的输入音量。单个音量值会影响所有通道。如果给定多个音量值,则它们的数量必须与接收器输入的通道数量匹配。
set-source-output-volume OUTPUT VOLUME [VOLUME ...]
设置指定源输出的音量(由其数字索引标识)。VOLUME可以指定为整数(例如2000、16384),线性因子(例如0.4、1.100),百分比(例如10%,100%)或分贝值(例如0dB,20dB)。如果音量规格以+或-开头,则音量调整将相对于当前信号源输出音量。单个音量值会影响所有通道。如果给定多个音量值,则它们的数量必须与源输出的通道数量匹配。
set-sink-mute SINK 1|0|toggle
设置指定接收器的静音状态(由其符号名称或数字索引标识)。
set-source-mute SOURCE 1|0|toggle
设置指定信号源的静音状态(通过其符号名称或数字索引标识)。
set-sink-input-mute INPUT 1|0|toggle
设置指定的接收器输入的静音状态(由其数字索引标识)。
set-source-output-mute OUTPUT 1|0|toggle
设置指定的源输出的静音状态(由其数字索引标识)。
set-sink-formats SINK FORMATS
如果接收器支持,则设置指定接收器的支持格式(由其数字索引标识)。将FORMATS指定为以分号(;)分隔的格式列表,格式为'encoding [,key1 = value1,key2 = value2,...]'(例如,将指定32000、44100和48000 Hz的AC3如'ac3-iec61937,format.rate =“ [32000,44100,48000]”')。
订阅
订阅事件,pactl不会自行退出,而是一直在等待新事件。
作者
PulseAudio开发人员<pulseaudio-discuss(at)列表(dot)freedesktop(dot)org>; 可从http://pulseaudio.org/获得PulseAudio。
也可以看看
pulseaudio(1),pacmd(1)
手册用户pactl(1)