0
点赞
收藏
分享

微信扫一扫

Egret Engine(十一):音频加载


定义播放按钮

// 播放按钮
const playLabel: egret.TextField = new egret.TextField();
playLabel.text = "PLAY";
playLabel.touchEnabled = true;

通过Sound加装音频

const sound: egret.Sound = new egret.Sound();

sound.addEventListener(egret.Event.COMPLETE, function (event: egret.Event) {

this.addChild(playLabel);
playLabel.addEventListener(egret.TouchEvent.TOUCH_TAP, function (event: egret.Event) {
sound.play();
}, this);

}, this);

sound.addEventListener(egret.IOErrorEvent.IO_ERROR, function (event: egret.IOErrorEvent) {
console.log("loaded error!");
}, this);

sound.load("resource/assets/sound.mp3");

通过 URLLoader 加装音频

const loader: egret.URLLoader = new egret.URLLoader();

loader.addEventListener(egret.Event.COMPLETE, function (event: egret.Event) {

const sound: egret.Sound = loader.data;

this.addChild(playLabel);
playLabel.addEventListener(egret.TouchEvent.TOUCH_TAP, function (event: egret.Event) {
sound.play();
}, this);

}, this);

loader.dataFormat = egret.URLLoaderDataFormat.SOUND;

loader.load(new egret.URLRequest("resource/assets/sound.mp3"));

通过 res 加装音频

const sound: egret.Sound = RES.getRes("sound_mp3");

this.addChild(playLabel);
playLabel.addEventListener(egret.TouchEvent.TOUCH_TAP, function (event: egret.Event) {
sound.play();
}, this);

播放停止示例

let sound: egret.Sound;
let soundChannel: egret.SoundChannel;

//创建 URLLoader 对象
const loader: egret.URLLoader = new egret.URLLoader();

//设置加载方式为声音
loader.dataFormat = egret.URLLoaderDataFormat.SOUND;

//添加加载完成侦听
loader.addEventListener(egret.Event.COMPLETE, function (event: egret.Event) {

const loader: egret.URLLoader = <egret.URLLoader>event.target;

//获取加载到的 Sound 对象
sound = <egret.Sound>loader.data;

this.addChild(playLabel);
playLabel.addEventListener(egret.TouchEvent.TOUCH_TAP, onTouch, this);

}, this);

//开始加载
loader.load(new egret.URLRequest("resource/assets/sound.mp3"));

function onTouch() {

console.log(soundChannel);
if (soundChannel) {
soundChannel.stop();
soundChannel = null;
return;
}
soundChannel = sound.play(); // 使用SoundChannel播放音频

//Egret 3.0.4 新增获取音频长度 length 属性。
console.log(sound.length);

soundChannel.addEventListener(egret.Event.SOUND_COMPLETE, function (event: egret.Event): void {
console.log("onSoundComplete");
}, this);

}


举报

相关推荐

0 条评论