有没有办法将蜂鸣程序的输出声音切换到普通扬声器而不是蜂鸣器?

有没有办法将蜂鸣程序的输出声音切换到普通扬声器而不是蜂鸣器?

我安装了beep工具(来自普通代表)在我的 ubuntu 18.04 上

之后modprobe pcspkr一切都OK了。但我只能从电脑盒子里的非常小的蜂鸣器中听到这种声音。有没有办法像任何 mp3、youtube 等一样从普通音乐扬声器中听到它?

我注意到echo -e '\007'我的外壳发出的响铃命令是从普通音乐扬声器中听到的,这对我来说非常好。

使用-e蜂鸣声选项没有帮助。

答案1

欢迎来到 Unix 和 Linux StackExchange!

beep工具明确设计为仅使用蜂鸣器。

使用echo -e '\007'终端仿真器配置的任何铃声效果:在文本模式控制台上,它通常使用蜂鸣器。在 GUI 桌面终端窗口中,终端仿真器可能有自己的可配置蜂鸣声,或者可能使用桌面环境的默认蜂鸣声效果,这通常可以在桌面环境的声音设置中进行配置。

话虽如此,有时可以将蜂鸣器的声音重新定向到扬声器中。为此,您需要一个集成声音芯片(大多数现代系统都具有),并且具有重新路由蜂鸣器声音的特定功能(某些但不是全部声音芯片中包含该功能)。要在 Linux 中启用该功能,您需要访问实际声卡的混音器功能,而不是您的系统包含 PulseAudio 子系统时通常获得的简化版本。

例如,如果您alsamixer在启用 PulseAudio 的系统中使用不带任何选项的命令,您可能只会看到 PulseAudio 的音量控制。但是,如果您明确指定要使用的声卡,例如alsamixer -c 0指定系统的第一个声卡/芯片,您将获得完整的音频混音器设置。

如果可用声音通道列表包括“蜂鸣声”、“数字蜂鸣声”或类似的内容,则它将是 PC 蜂鸣器重定向通道。它可能只是一个开/关开关设置,或一个可调节的电平设置,或两者兼而有之。如果启用/取消静音通道,蜂鸣器的信号应重定向到声音芯片并通过普通扬声器输出。

注意:如果您的系统具有此功能并且您决定使用它,请检查蜂鸣声的音量级别你重新启动系统。如果启用重定向并将其设置为最大音量,则重新启动时的标准蜂鸣声可能会通过扬声器发出,并被放大到意外的响度。

(是的,这种情况发生在我身上一次。显然,声音芯片在重新启动时并不总是完全重置,至少在操作系统启动继续再次加载声音驱动程序之前不会。)

相关内容