この記事のURL

http://www.dango-itimi.com/blog/archives/2013/001162.html


FLASH tips SoundJS 0.4.0: iOS6 でサウンドを再生する方法

SoundJS 0.4.0 にて iOS6 でサウンドを再生する方法です。
PreloadJS でサウンドファイルを読み込んだ後、以下の javascript 処理の記述を行なってください。

var canvas = document.getElementById('canvas');
canvas.addEventListener('touchstart', function(){
	createjs.Sound.play('soundId');
	this.removeEventListener('touchstart', arguments.callee);
}, false);

'soundId'の箇所は任意に書き換えてください。

上記 touchstart イベントが実行されることで、'soundId' に指定したサウンドが再生され、同時に Web Audio API の音声ミュート状態が解除されます。以後は自由なタイミングで音声再生が可能になります。touchstart イベント内ではダミーの無音サウンド等を再生させたりするのが良いかもしれません。

iOS6 の Web Audio API での音声再生ですが、iPhone 3GS では結構な負荷がかかるようで、ものによっては処理速度がガタ落ちしてしまいます。むしろ音は鳴らさないほうが良い、なんて事もありそうです。

補足)Haxe では JQueryExtern の bind メソッドでタッチイベント定義を行えます。

private function test(){

	new JQuery("#canvas").bind("touchstart", "", this.onTouchStart);
}
private function onTouchStart(event){

	Sound.play('soundId');
	new JQuery("#canvas").unbind("touchstart");
}

追記 2013/6/23)
Haxe サンプルコードを Haxe 3 バージョンに変更

[ FLASH ] [ tips ] 投稿者 siratama : 2013年02月20日 20:54

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/1122

コメント

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]