company logo
advertisement for deep fried Twinkies


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'); //播放
		});
	}

}