LightSDK.native.createAudio

功能描述

通过js创建一个原生音频播放器对象

支持格式

Json

请求参数:

字段 可选 类型及范围 说明
src string 需要播放的音频Url地址,支持远程与本地地址,支持音频格式见注意事项
autoplay boolean true:就绪(加载完成)后立即播放音频,默认为false
loop boolean true:每当音频结束时重新开始播放,默认为false
volume number 设置音频的当前音量,范围0~1,默认1
playbackRate number 设置音频的播放速度(Android需要6.0及以上版本),范围0.5-2.0,默认1
startTime number 音频开始播放的位置(以秒计),默认为0

请求调用示例

params={
src: "https://www.w3school.com.cn/i/song.mp3",
autoplay: true,
loop: false,
volume: 0.5,
playbackRate: 1.2,
startTime: 2,
}

let that = this;
LightSDK.native.createAudio(params,function(data){
that.audio = data.audio;

});
...
that.audio.play() ; //播放
...
that.audio.pause() ;//暂停
...
that.audio.stop() ;//停止播放

返回字段示例

{
audio:{...} //返回的音频对象
info: {
error_code:"0",
error_message:"success"
},
data:{
"playerId": "PID2114453524",
"type":"onCreated",
"duration": 30,
"buffered": 1
}
}

返回值说明

字段名 字段类型 说明
audio object 音频播放器对象,可通过audio来调用播放、暂停、和停止播放等功能,如audio.play(),audio.pause(),audio.stop() ,具体使用方法见下方audio对象方法
playerId string 播放器对象句柄
type string 当前回调类型,onCreated表示播放器对象创建完成,onPlay表示播放器开始/继续播放,onPause表示播放器暂停播放,onStop表示播放器停止播放,onEnd表示播放器正常播放结束,onTimeUpdate表示播放器进度更新,onSeeked表示播放器进度跳转完成,onBurrered表示播放器缓冲中,onError表示播放器播放错误(注意:1、loop为true情况下,android正常播放结束不会回调onEnd 2、loop为false情况下,android正常播放结束会回调onSeeked)
duration number 当前音频的长度(以秒计),只有在当前有合法的src时返回
buffered number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(以百分比形式,范围0-100)(安卓只在加载远程音频资源时才会返回)
startTime number 音频开始播放的位置(以秒计),默认为0
currentTime number 音频的当前播放位置(以秒计),只有在当前有合法的 src 时返回
errCode number type为onError时返回,表示播放器错误码,10001:系统错误,10002:网络错误,10003:文件错误,10004:格式错误,-1:未知错误(注意:1、当前安卓系统播放器报错信息无法做到具体分类,统一返回10001:系统错误 2、ios不支持针对1.txt通过修改改后缀名为音频源文件1.mp3的类似情况)
errMsg string type为onError时返回,表示播放器具体错误信息

audio对象方法

播放 audio.play()

请求参数

调用示例

audio.play({},cb);

返回结果示例

"data": {
"playerId": "PID2114453524"
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄

注意事项

1、暂停后的音频再播放会从暂停处开始播放,停止后的音频再播放会从startTime开始播放。

2、播放事件的回调请参考LightSDK.native.createAudio方法的回调。

暂停播放 audio.pause()

请求参数

调用示例

audio.pause({},cb);

返回结果示例


"data": {
"playerId": "PID2114453524"
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄

注意事项

1、播放暂停事件的回调请参考LightSDK.native.createAudio方法的回调。

停止播放 audio.stop()

请求参数

调用示例

audio.stop({},cb);

返回结果示例

"data": {
"playerId": "PID2114453524"
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄

注意事项

1、停止后的音频再播放会从startTime开始播放。

2、停止播放事件的回调请参考LightSDK.native.createAudio方法的回调。

获取播放器对象的属性 audio.getAudioOption()

请求参数

调用示例

audio.getAudioOption({},cb);

返回结果示例

"data": {
"playerId": "PID2114453524",
"src": "https://www.w3school.com.cn/i/song.mp3",
"autoplay": false,
"loop": true,
"volume": 1.0,
"playbackRate": 1.6,
"startTime": 0,
"duration": 30,
"currentTime": 10,
"buffered": 20,
"paused": true,
"ended": false,
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄
src string 需要播放的音频Url地址,支持远程与本地地址,支持音频格式见注意事项
autoplay boolean true:就绪(加载完成)后立即播放音频,默认为false
loop boolean true:每当音频结束时重新开始播放,默认为false
volume number 设置音频的当前音量,范围0~1,默认1
playbackRate number 设置音频的播放速度(Android需要6.0及以上版本),范围0.5-2.0,默认1
startTime number 音频开始播放的位置(以秒计),默认为0
duration number 当前音频的长度(以秒计),只有在当前有合法的src时返回
currentTime number 音频的当前播放位置(以秒计),只有在当前有合法的 src 时返回,时间保留小数点后6位
buffered number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(以秒计)
paused boolean 当前音频是否处于暂停状态,true:暂停中,false:未暂停
ended boolean 当前音频是否播放完毕,true:播放完毕,false:未播放完毕

重置播放器对象的属性 audio.resetAudioOption()

请求参数

字段 可选 类型 描述
loop boolean true:每当音频结束时重新开始播放,默认为false
volume number 设置音频的当前音量,范围0~1,默认1
playbackRate number 设置音频的播放速度(Android需要6.0及以上版本),范围0.5-2.0,默认1
startTime number 音频开始播放的位置(以秒计),默认为0

调用示例

audio.resetAudioOption({
loop: true,
volume: 1.0,
playbackRate: 1.5,
startTime: 0,
});

返回结果示例

"data": {
"playerId": "PID2114453524",
"duration": 30,
"currentTime": 10,
"buffered": 20,
"paused": true,
"ended": false,
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄
duration number 当前音频的长度(以秒计),只有在当前有合法的src时返回
currentTime number 音频的当前播放位置(以秒计),只有在当前有合法的 src 时返回,时间保留小数点后6位
buffered number 音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲(以秒计)
paused boolean 当前音频是否处于暂停状态,true:暂停中,false:未暂停
ended boolean 当前音频是否播放完毕,true:播放完毕,false:未播放完毕

注意事项

1、该接口不可重置音频src属性,若需要更改src属性,请使用LightSDK.native.createAudio接口重新创建音频播放器对象。

销毁播放器 audio.destroy()

请求参数

调用示例

audio.destroy({},cb);

返回结果示例

"data": {
"playerId": "PID2114453524"
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄

指定播放进度 audio.seek()

请求参数

字段 可选 类型 描述
position number 音频跳转播放的位置(以秒计),范围为0——duration,超过此范围返回10003错误

调用示例

audio.seek({
position:20
},cb);

返回结果示例

"data": {
"playerId": "PID2114453524"
}

返回字段说明

字段名 字段类型 说明
playerId string 播放器对象句柄

注意事项

1、播放进度跳转事件的回调请参考LightSDK.native.createAudio方法的回调。

LightSDK.native.createAudio接口使用注意事项

1.使用本接口二次开发需添加audiogmu.aar依赖

2.平台集成配置包需要在config.js配置文件中做以下配置:

module.exports = {
plugins:{
"audio": {}
}
};