功能描述
通过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()
请求参数
无
调用示例
返回结果示例
"data": { "playerId": "PID2114453524" }
|
返回字段说明
字段名 |
字段类型 |
说明 |
playerId |
string |
播放器对象句柄 |
注意事项
1、暂停后的音频再播放会从暂停处开始播放,停止后的音频再播放会从startTime开始播放。
2、播放事件的回调请参考LightSDK.native.createAudio
方法的回调。
暂停播放 audio.pause()
请求参数
无
调用示例
返回结果示例
"data": { "playerId": "PID2114453524" }
|
返回字段说明
字段名 |
字段类型 |
说明 |
playerId |
string |
播放器对象句柄 |
注意事项
1、播放暂停事件的回调请参考LightSDK.native.createAudio
方法的回调。
停止播放 audio.stop()
请求参数
无
调用示例
返回结果示例
"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()
请求参数
无
调用示例
返回结果示例
"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": {} } };
|