每当单击时如何播放声音效果?


11

我知道这听起来像个奇怪的主意,但我有点想对此进行试验。

在过去的几个月中,我已经将Ubuntu变成了我自己的科学怪人的小怪物,但是无论您怎么说,它仍然可以工作。

Answers:


4

嗯,这是一个很棘手的解决方案,但是行得通!首先安装以下内容:

sudo apt-get install xmacro expect mpg321

xmacro是将检测您的鼠标单击的程序。 expect是一个程序,它将监听xmacro您的鼠标单击的输出以便执行mpg321,这是一个命令行播放器!

因此,从终端内部运行此脚本:

#!/usr/bin/expect -f
spawn xmacrorec2

while { 1 } {
   expect "ButtonRelease 1"
   system mpg321 /home/alex/Music/notification/notification.mp3&
}

当您执行上述脚本时(我通过终端重复),您将被要求输入一个输入键。输入一个不寻常的键(例如F7),它将成为该键,无论您何时按下它,都将阻止该过程的进行。

因此,只需在上面的脚本中,将mpg321设置为您自己的有效mp3文件,然后进行测试即可:)

在Ubuntu 12.04下它可以正常工作,但是我在Oneiric下使用了这三个工具,都没有问题!

xmacrorec2可以将期望的键(-k参数)作为kei码作为参数。如果要将上面的脚本放到启动应用程序中,这将对您有很大帮助,因为它不会每次都要求输入键。为了找到您要使用的适当的密钥代码,您必须安装微型程序xbindkeys

sudo apt-get install xbindkeys

然后做:

touch ~/.xbindkeysrc
xbindkeys -k

最后一个命令后,将出现一个小窗口,不执行任何操作,请为其输入键盘输入,例如F7。您将看到如下内容:

You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:73
F7

注意这一行:

    m:0x0 + c:73

该代码73是xmacrorec2期望的代码。因此,您可以将-k参数添加到上述脚本中,如下所示:spawn xmacrorec2 -k 73它将自动启动。完成脚本的编辑后,将其保存到一个稳定的目录(我的意思是您不会删除/移至不久的将来的目录),例如〜/ Documents并为其赋予可执行权限(右键单击它-> Properties->权限->允许将文件作为程序执行,或者通过终端执行chmod +x script_name.sh)。然后,只需将脚本添加到“ 启动应用程序”。当然,每当您希望此声音停止播放时,都必须提供相应的键盘输入,例如F7

PS:如果您不想安装额外的命令行mp3播放器(如mpg321),则可以使用预安装的播放器canberra-gtk-play,该播放器用作

canberra-gtk-play -f music.wav

它的缺点是只能播放某些ogg和wav文件。


我将尝试您的命令。另外,-f开头和spawn命令的含义是什么?
路西欧(Lucio)2012年

难道您不知道mpg321不安装外部程序的其他功能吗?
Lucio'8

手册页(man expect)指导我如何成为脚本的第一行。另一个预装的命令行播放器是canberra-gtk-play并且可以称为canberra-gtk-play -f file.ogg。该程序的缺点是只能播放某些ogg和wav文件。
hytromo

由于更新时发生GPG错误,目前我无法证明您的方法。
路西欧(Lucio)2012年

好,慢慢来
hytromo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.