[JavaScript] 特定のキーを押している間だけ音声を再生させよう! - neongrow.net

[JavaScript] 特定のキーを押している間だけ音声を再生させよう!

タイトル通りの記事です。
 
 
今回の例では、Enterキーを押している間、指定したサウンドファイルを再生します。
Enterキーを離すと、演奏を停止します。「押している間」というのがミソです。

ソースコードと解説

 
以下サンプル
 
 

 
サンプルはこちら (別ページ表示)
 
onkeydownを検知し、かつkeyCodeが13のキー(Enterキー)が押下されている間イベントを起こすのですが、
そのまま音声再生を命令すると、押下中延々と再生しだそうとするので音が何重にもなります。
そこは、単純にif文とかで回避しましょう。
 
ちなみに、キーコードはこちらを参照されると、一目瞭然と思います。

 
 
もちろんキーの押下でイベント内容を変更できるので、
簡単に文字などを加え、再生中と停止中を区別するなども、良いと思います。
 
以下サンプル

 
サンプルはこちら (別ページ表示)
 
 
なんか好きなBGMや楽曲を、
好きなキーを押すことで反応させるお遊びなどに使われると、
良いと思います。
 
 
おわり。
 
 
 
以下駄文

制作経緯


このクソ動画がつくりたかったから。

おわり。
 
 
いや聞いてくださいよ、ないんですよ。
キーを押したら音楽を再生するフリーソフトってのは、いっぱいあるんです。が、
押下中だけ再生して、離したら停止するっていうソフトが、ないんですよ。
 
 
だからもうどれだけ探してもなかったのでJavaScriptでえんやこらー!したんです。
 
おかげで昨日仕事から帰ってきてからの1日つぶれました。
 
そういう日があっても、いいじゃない。
 
 
 
 
気づいたけど音声後から合成すりゃよかったわ
 
 
 
 

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です