有没有办法让 vlc 默认以 50% 的音量播放所有视频?我查看了在线文档,但没有说明是否有我可以调整的配置文件。
有没有办法,通过编辑配置文件或任何其他方法,将 vlc 的默认音量设置为 50%?
答案1
首先,让我们偷懒一下:这可以使用 GUI 来完成。然而,使用哪种 GUI 取决于您所使用的音频输出系统。打开 VLC,然后转到工具 > 首选项 > 音频。这输出模块设置会告诉您正在使用什么。
如果您使用的是脉冲,那么您的默认音量级别由 Pulse 本身处理。最简单的配置方法是使用
pavucontrol
.使用包管理器安装它,启动 VLC(带音频),然后打开pavucontrol
.到达回放选项卡,然后设置 VLC 的新值(在您的情况下为 50%)。如果您使用 ALSA,您可以直接在VLC中设置您的值。就在上面输出模块选项,检查始终将音频起始电平重置为框,然后在旁边的滑块中选择 50%。
如果您想在不使用 VLC/pavucontrol 的情况下配置音量级别,那么该方法又取决于您的音频输出。我们看一下VLC的代码:
static int getDefaultAudioVolume(vlc_object_t *obj, const char *aout)
{
if (!strcmp(aout, "pulse"))
return -1;
else if (!strcmp(aout, "alsa") && module_exists("alsa"))
return cbrtf(config_GetFloat(obj, "alsa-gain")) * 100.f + .5f;
else if (!strcmp(aout, "sndio"))
return -1;
return -1;
}
我稍微简化了一下,但基本上是:
如果您使用的是脉冲,VLC的配置没有影响。您需要配置 Pulse 本身。看一下pactl
(或者可能帕命令用于交互界面)。这是设置 VLC 默认级别的“小”一行:
$ pactl set-sink-input-volume $(pactl list short sink-inputs | grep $(pactl list short clients | grep vlc | cut -f1) | cut -f1) 50%
是的,那很丑。基本上,我获取 VLC 的索引(作为客户端),并找到关联的接收器输入的索引。然后我将该索引注入set-sink-input-volume
,并将值设置为 50%。看一下pactl(1)
有关这些pactl
命令的更多信息。请记住,您还可以使用pavucontrol
GUI 在 GUI 中配置 Pulse :)
如果您使用 ALSA,您的默认音量级别是使用alsa-gain
中的设置确定的~/.config/vlc/vlcrc
。对于默认体积x
,您应该将此值设置为((x - 0.5) / 100) ^ 3
,因为cbrtf
是立方根。就你而言,这意味着alsa-gain = (49.5 / 100) ^ 3 = 0.121287375
.您还需要将该volume-save
设置设置为 0 (false),以便每次都应用新的默认值,无论您上次关闭 VLC 时的音量级别如何。