Phaser 音频处理
1声音的加载
var game = new Phaser.Game(800, 500, Phaser.AUTO, 'container', state); function state(){ this.init = function(){ game.scale.pageAlignHorizontally = true; //水平居中 game.scale.pageAlignVertically = true; //垂直居中 } this.preload = function(){ game.load.audio('sound1', 'asset/audio/1.mp3'); game.load.audiosprite('audiosprite', [ 'asset/audio/myaudiosprite.ogg', 'asset/audio/myaudiosprite.m4a', 'asset/audio/myaudiosprite.mp3', 'asset/audio/myaudiosprite.ac3' ], 'asset/audio/myaudiosprite.json'); /* 上面这个方法是通过软件把多个声音文件合并为一个文件 第一个参数是KEY ,第二个参数是声音文件的路径,可以多个格式的一起,如果没有第一个格式的就用第二个,类推 第三个参数是 分段信息,里面有每个声音文件的名字和起止 */ } this.create = function(){ var sound = game.add.audio('sound1'); var audiosprite = game.add.audioSprite('audiosprite'); } }
声音的控制
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'container', state); function state(){ this.init = function(){ game.scale.pageAlignHorizontally = true; //水平居中 game.scale.pageAlignVertically = true; //垂直居中 } this.preload = function(){ game.load.audio('music', 'asset/sound/1.mp3'); game.load.image('btn_play', 'asset/sound/btn_play.png'); game.load.image('btn_pause', 'asset/sound/btn_pause.png'); game.load.image('btn_resume', 'asset/sound/btn_resume.png'); game.load.image('btn_stop', 'asset/sound/btn_stop.png'); } this.create = function(){ var sound = game.add.audio('music'); sound.onPlay.add(function(){ alert('play'); }); sound.onPause.add(function(){ alert('pause'); }); sound.onResume.add(function(){ alert('resume'); }); sound.onStop.add(function(){ alert('stop'); }); var btn_play = game.add.button(260, 20, 'btn_play', function(){ sound.play(); //播放 }); var btn_pause = game.add.button(260,145, 'btn_pause', function(){ sound.pause(); //暂停 }); var btn_resume = game.add.button(260, 280, 'btn_resume', function(){ sound.resume(); //恢复 }); var btn_stop = game.add.button(260, 415, 'btn_stop', function(){ sound.stop(); //停止 }); } }
声音的淡入淡出
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'container', state); function state(){ this.init = function(){ game.scale.pageAlignHorizontally = true; //水平居中 game.scale.pageAlignVertically = true; //垂直居中 } this.preload = function(){ game.load.audio('music', 'asset/sound/1.mp3'); game.load.image('btn_play', 'asset/sound/btn_play.png'); game.load.image('btn_pause', 'asset/sound/btn_pause.png'); } this.create = function(){ var sound = game.add.audio('music'); var btn_play = game.add.button(260, 20, 'btn_play', function(){ sound.fadeIn(3000); //淡入 }); var btn_pause = game.add.button(260,145, 'btn_pause', function(){ sound.fadeOut(3000); //淡出 }); } }
截取某一段声音进行播放
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'container', state); function state(){ this.init = function(){ game.scale.pageAlignHorizontally = true; //水平居中 game.scale.pageAlignVertically = true; //垂直居中 } this.preload = function(){ game.load.audio('music', 'asset/sound/1.mp3'); game.load.image('btn_play', 'asset/sound/btn_play.png'); } this.create = function(){ var sound = game.add.audio('music', 0.1); sound.addMarker('marker1', 5, 1); //哪个声音,从第几秒开始,持续几秒的声音 var btn_play = game.add.button(260, 20, 'btn_play', function(){ sound.play('marker1'); //播放 }); } }