文档中心 > 店铺动态卡片-开发指引

音频能力行为规范

更新时间:2023/02/22 访问次数:2067
  • 默认只支持单音轨,如需开启多音轨,需要在 app.json/game.json 的 window 对象中配置 "enableMutilAudio": true
  • audio 实例不再支持更换 src,建议创建新实例,销毁老实例
  • onCanplay() 回调后不再支持 startTime、autoplay 等非只读属性的修改,loop 属性可以被修改
  • 苹果设备上的 duration 是操作系统根据资源大小自行估算,与真实长度稍有差异

属性/方法名

使用约定

src

支持音频格式:aac/mp3

支持传入网络音频链接、也支持传入通过淘宝官方 API 获取的本地虚拟链接

startTime

单位秒,仅允许在 onCanplay() 回调之前设置,播放过程中如需切换位置请使用 seek

双端差异:若指定了 startTime,Android 设备在播放时,会在 onPlay() 回调后会收到 onSeeked() 回调,iOS 上不会收到

autoplay

是否允许自动播放,默认 false

loop

是否循环播放,默认 false

obeyMuteSwitch

不支持

duration

单位秒,仅允许在 oncanplay() 之后访问 duration

currentTime

单位秒

播放前:若设置了 startTime 且 autoplay 为 false 的情况下获取为 0

播放中:返回当前时间

播放完:返回音频长度

paused

当前是否处于暂停或停止状态,true 表示暂停或停止,false 表示正在播放

buffered

返回值格式:百分比

volume

音量, 范围 0~1

play

播放

pause

暂停

stop

停止播放

stop() 被调用后,无法再次调用 seek()

stop() 被调用后,无论是否设置过 starttime,再次播放时一律从头开始播放

双端差异:stop() 被调用后,若再次播放,Android 设备会先收到 onCanPlay() 回调,再收到 onPlay() 回调,而 iOS 设备只会收到 onPlay() 回调

seek

单位秒,跳转到指定位置,在 onCanPlay() 后只要不是 stop 状态均可 seek


事件名

使用约定

destroy

销毁当前实例

onWaiting

音频缓冲事件回调

onCanplay

可以播放事件回调

onPlay

开始播放事件回调

onPause

暂停播放事件回调

onStop

停止播放事件回调

onEnded

播放结束事件回调,开启 loop 模式后无法收到

onTimeUpdate

播放进度更新事件回调,只在 play 过程中才会收到,其他状态均收不到

onError

播放错误事件回调

onSeeking

跳转事件回调

onSeeked

跳转完成事件回调

FAQ

关于此文档暂时还没有FAQ
返回
顶部