web-dev-qa-db-ja.com

クリックするたびに効果音を再生する方法は?

それは奇妙なアイデアのように聞こえますが、ちょっと試してみたいと思います。

過去数か月にわたって、Ubuntuを自分の小さなフランケンシュタインの怪物に変えましたが、あなたが言うことは何でもうまくいくはずです。

11
John Doe

うーん、かなりハッキーなソリューションですが、それは動作します!まず、次のものをインストールします。

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では問題なく動作しますが、これら3つのツールはすべて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が期待するものです。したがって、上記のスクリプトにspawn xmacrorec2 -k 73のような-k引数を追加すると、自動的に開始されます。スクリプトの編集が終了したら、〜/ Documentsなどの安定したディレクトリ(削除または近い将来移動しないディレクトリを意味します)に保存し、実行可能権限を付与します(右クリックして[プロパティ]->許可->ファイルをプログラムとして実行することを許可するか、ターミナルを介してchmod +x script_name.sh)。次に、スクリプトを Startup Applications に追加します。もちろん、この音を止めたいときはいつでも、F7のような対応するキーボード入力を与える必要があります。

PS:追加のコマンドラインmp3プレーヤー(mpg321など)をインストールしたくない場合は、プレインストールされたプレーヤーcanberra-gtk-playを使用できます。

canberra-gtk-play -f music.wav

欠点は、特定のoggファイルとwavファイルしか再生できないことです。

4
hytromo