音频方法封装(只有开始和停止):
private onMusic(): void {
var loader: egret.URLLoader = new egret.URLLoader();
var url :string = "resource/assets/Images/music.mp3";//音乐资源位置
var request: egret.URLRequest = new egret.URLRequest(url);
loader.dataFormat = egret.URLLoaderDataFormat.SOUND;
loader.addEventListener(egret.Event.COMPLETE, this.onLoadComplete, this);
loader.load(request);
}
private Channel = null;
private onLoadComplete(event: egret.Event): void {
var loader: egret.URLLoader = <egret.URLLoader>event.target;
var sound: egret.Sound = <egret.Sound>loader.data;
//播放按钮
var btn = new egret.Sprite();
btn.graphics.beginFill(0x18f7ff);
btn.graphics.drawRoundRect(0, 0, 80, 40, 5, 5);
btn.graphics.endFill();
btn.touchEnabled = true;
btn.addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
if(!this.Channel){
this.Channel = sound.play(0, -1);
console.log(sound.length);
}else{
this.Channel.stop();
this.Channel = null;
}
}, this);
this.addChild(btn);
}
直接调用方法: this.onMusic();
视频方法封装(只有播放和控制声音):
public onVideo() {
this.video = new egret.Video();
// this.video.poster = "resource/assets/Button/button_up.png";
this.video.load("http://media.w3.org/2010/05/sintel/trailer.mp4"); //测试视频资源
this.addChild(this.video);
this.video.once(egret.Event.COMPLETE, this.onLoad, this);
}
private video: egret.Video;
private onLoad() {
var btnPlay: eui.Button = new eui.Button(); //播放按钮
btnPlay.label = "播放";
btnPlay.x = (this.stage.stageWidth - 100) / 2;
this.addChild(btnPlay);
btnPlay.addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
console.log(this.video.length);
this.video.play(1);
}, this);
var volume: eui.HSlider = new eui.HSlider(); //声音控制滑块
volume.x = btnPlay.x;
volume.y = btnPlay.height + 20;
this.addChild(volume);
volume.value = 50;
volume.maximum = 100;
volume.minimum = 0;
volume.width = 200;
volume.addEventListener(egret.Event.CHANGE, (e: egret.Event) => {
this.video.volume = e.target.value / 100;
}, this);
}
直接调用方法: this.onVideo()