替代措辞:是否有命令行命令允许我将扬声器静音,然后稍后取消静音。理想情况下,具有淡入功能。如果我知道如何做到这一点,我就可以想出如何将其绑定到键盘按钮。(我知道如何操作 bash 脚本,但对 linux 音频知之甚少。)
这个问题的背景是,我经常在听网络电台(直播或录音)时电话响了,所以我按下键盘上的静音键。通话通常很短,通话结束后我专心工作,直到 20 或 30 分钟后才意识到一切都安静了下来,它还在播放,但很安静。所以我的想法是,我会按下两分钟的静音按钮,然后两分钟后它会恢复;如果我还在打电话,我会再次按下它(或正确停止它)。
当出现烦人的广告、预告片或交通公告时,它也非常有用 :-)
更新:建议的答案非常有效。以下是我将其连接到 Ubuntu 10.04/Gnome 上的特殊键的方法:
- 创建了一个名为 /usr/local/bin/mute_for_120_seconds 的文件,其中包含以下答案。使其可执行。
- 系统 | 偏好设置 | 键盘快捷键
- 点击添加,名称:“mute_for_120_seconds”,命令:“/usr/local/bin/mute_for_120_seconds”
- 它出现在自定义快捷键下。单击它的快捷键列,然后按下我想要使用的组合键。
- 关闭键盘快捷键对话框并测试按键。
(我的戴尔笔记本有一个专用的静音键。因此,我将 AudioMute 设置为 ctrl+XF86AudioMute,然后将我的 mute_for_120_seconds 脚本设置为与静音键一起运行。)
详细信息:Ubuntu 10.04。声音首选项仅告诉我“内部音频,1 个输出/1 个输入,模拟立体声双工” Audacity 的帮助|音频设备信息还有更多信息,下面是摘录:
==============================
Default capture device number: 8
Default playback device number: 8
==============================
...
==============================
Device ID: 8
Device name: ALSA: default
Input channels: 32
Output channels: 32
Low Input Latency: 0.011610
Low Output Latency: 0.011610
High Input Latency: 0.046440
High Output Latency: 0.046440
Supported Rates:
8000
9600
11025
12000
15000
16000
22050
24000
32000
44100
48000
88200
96000
192000
...
答案1
amixer
是 ALSA 声卡驱动程序的命令行混音器,它允许您轻松地编写静音脚本:
!#/bin/sh
amixer set Master mute
sleep 120
amixer set Master unmute
该命令行混合器在软件包中可用alsa-utils
。
答案2
这是另一种方法:
amixer set Master mute
echo amixer set Master unmute | at now + 2 minutes
或者如果你使用 xmms2 会更好:
nyxmms2 pause
echo nyxmms2 play | at now + 2 minutes