Audio Player 接口

当前AudioPlayer 支持mp3,m4a格式。

  • pm.createAudioContext()

创建并返回 audio 上下文。

var audio = pm.createAudioContext();
注:请勿多实例化,工程中应该只存在一个audioPlayer对象。

audio.setVolume(volume)

设置音量。开机默认值为上次设定值,掉电保存

参数 类型 描述
volume Number 整数 0 - 100
audio.setVolume(50);

audio.getVolume()

获取当前音量,返回值 Number 类型。

var volume = audio.getVolume();

audio.setSrc(url)

设置播放音频文件的路径。一般将音频文件放在与 app.js 同级的 resource 文件夹内,那么相对路径为“./resource/xx.mp3”,绝对路径为“/gui/resource/xx.mp3”

参数 类型 描述
url String 音频文件相对于 app.js 的相对路径,也可设为绝对路径
var audio = pm.createAudioContext();
audio.setSrc("./resource/xx.mp3");
audio.play();

audio.play()

播放。

var audio = pm.createAudioContext();
audio.setSrc("./resource/xx.mp3");
audio.play();

audio.seek(position)

跳转到指定位置,单位 s。

参数 类型 描述
position Number 精确到整秒
var audio = pm.createAudioContext();
audio.setSrc("./resource/xx.mp3");
audio.play();
...
audio.seek(10);

audio.pause()

暂停。

var audio = pm.createAudioContext();
audio.setSrc("./resource/xx.mp3");
audio.play();
...
audio.pause();

audio.stop()

停止。

var audio = pm.createAudioContext();
audio.setSrc("./resource/xx.mp3");
audio.play();
...
audio.stop();

audio.onPlay(callback)

监听音频播放事件。

参数 类型 描述
callback function 事件回调函数

注:回调函数传递出来的参数为,所播放音频文件的时长, 单位秒(s), number 类型

audio.onPlay(function(e){console.log("==> onPlay : " + e);});

audio.offPlay()

取消监听音频播放事件。

audio.offPlay();

audio.onPause(callback)

监听音频暂停事件。

参数 类型 描述
callback function 事件回调函数

注:回调函数传递出来的参数为,所播放音频文件暂停时的播放进度,单位毫秒(ms), number 类型

audio.onPause(function(e){console.log("==> onPause : " + e);});

audio.offPause()

取消监听音频暂停事件。

audio.offPause();

audio.onEnded(callback)

监听音频播放结束事件。

参数 类型 描述
callback function 事件回调函数

注:回调函数无传参

audio.onEnded(function(){console.log("==> onEnded");});

audio.offEnded()

取消监听音频播放结束事件。

audio.offEnded();

audio.onTimeUpdate(callback)

监听音频播放进度事件。此函数可配合进度条控件做音乐播放进度条

参数 类型 描述
callback function 事件回调函数

注:回调函数传递出来的参数为,音频文件播放进度,单位毫秒(ms), number 类型

audio.onTimeUpdate(function(e){console.log("==> onTimeUpdate : " + e);});

audio.offTimeUpdate()

取消监听音频播放进度事件。

audio.offTimeUpdate();

audio.onError(callback)

监听音频播放错误事件。

参数 类型 描述
callback function 事件回调函数
audio.onError(function(){console.log("==> onError");});

audio.offError()

取消监听音频播放错误事件。

audio.offError();

audio.onSeeked(callback)

监听音频完成 seek 操作事件。

参数 类型 描述
callback function 事件回调函数

注:回调函数传递出来的参数为,跳转到指定位置时间,单位秒(s),number 类型

audio.onSeeked(function(e){console.log("==> onSeeked : " + e);});

audio.offSeeked()

取消监听音频完成 seek 操作事件。

audio.offSeeked();

audio.onStop(callback)

监听音频停止事件。

参数 类型 描述
callback function 事件回调函数

注:回调函数无传参

audio.onStop(function(){console.log("==> onStop");});

audio.offStop()

取消监听音频停止事件。

audio.offStop();

audio.offEvent()

取消监听所有事件。

audio.offEvent();

audio.destroy()

销毁 audio 对象。

audio.destroy();

Sample

var audio = pm.createAudioContext()
var page = {

onLoad: function (event) {
audio.setSrc("./resource/OneByOne.mp3")

var v = audio.getVolume()
console.log("Default volume is " + v)
audio.setVolume(85)

audio.onPlay(function(time){
console.log("Song's time is" + time)
})

audio.onPause(function(time){
console.log("Pause time point is " + time)
})
},

/* 以下对象皆为Button控件触发 */
play:function(event){
audio.play()
},

stop:function(event){
audio.stop()
},

pause:function(event){
audio.pause()
},
};

Page(page);
page = 0;