サウンドを再生するには、まずアセットに登録して、それからSoundManagerを使用して再生します。(参考:[phina.js-Tips-36] 音を再生してみる - Qiita、[phina.js-Tips-37] 音の再生を停止してみる - Qiita、[phina.js-Tips-38] 音の再生を中断・再開してみる - Qiita)
const ASSETS = { sound: { 'bgm1': './sound/bgm1.mp3', 'se1': './sound/se1.mp3', }, };
phina.main(function() { // アプリケーションを生成する。 var app = GameApp({ width: SCREEN_WIDTH, height: SCREEN_HEIGHT, startLabel: 'main', assets: ASSETS, }); // 省略
// 効果音を再生する。 SoundManager.play('se1'); // BGMを再生する。 SoundManager.playMusic('bgm1'); // BGMを停止する。 SoundManager.stopMusic(); // BGMを一時停止する。 SoundManager.pauseMusic(); // BGMを再開する。 SoundManager.resumeMusic();
ただし、iOSの場合、ユーザーが操作をするまで音声を再生することができないため、最初のタッチイベントの際にダミーで音声を流すことで音声を再生できるようにします。(参考:iPhone, iPad で音が再生されない場合の対処 · Issue #197 · phinajs/phina.js)
phina.main(function() { // 省略 app.domElement.addEventListener('touchend', function dummy() { var s = phina.asset.Sound(); s.loadFromBuffer(); s.play().stop(); app.domElement.removeEventListener('touchend', dummy); }); app.run(); });