強火で進め

このブログではプログラム関連の記事を中心に書いてます。

iPhoneのSafariでプレイヤーを立ち上げずに音を鳴らす方法

自分はiPhoneでWebで音を鳴らしたい場合には埋込みプレイヤーが表示されるかプレイヤーが立ち上がってしまうものだと思っていました。

しかし、9leapに投稿されたこちらの id:nanmo さんのJavaScript製のゲームをプレイするとiPhoneでも音が鳴っています。もちろん、埋込みプレイヤーが有ったり、プレイヤーが立ち上がる事も有りません。

9leap : よく振ってからお開けください by nanimosa
http://9leap.net/games/83

ソースを読んでみると音を鳴らしている処理は以下の部分でした。

var open_can_audio = new Audio( "opencan.mp3" );
open_can_audio.load();
(中略)
                                        open_can_audio.play();

new Audioでaudioオブジェクトを生成してロードと再生をするだけでOKみたいです。

デモを作ってみました。こちらのページをiPhoneで開くと試せます。

と、ここまで書いた所で以前自分が作ったサンプルでもそういう実装してたバージョンを発見。audio要素なんて日頃使わないのですっかり忘れてたみたいですorz

まぁ、これでJavaScriptで作ったゲームでも音鳴らせる!!

関連情報

9leapにゲームを投稿した件、bitbucketに置いた件 - 戸袋に手を引き込まれないように
http://d.hatena.ne.jp/nanmo/20110507/1304737273

Position Absolute, web apps and front-end stuff - Introduction to the HTML5 audio tag javascript manipulation «
http://www.position-absolute.com/articles/introduction-to-the-html5-audio-tag-javascript-manipulation/

audioタグで再生したものはオーディオ再生コントロールで操作可能性 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20100925/1285434315

JavaScriptプログラムの中で簡単にサウンドを扱えるライブラリ「SoundManager 2」 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20110602/1307036263