微信小程序 audio音频播放
audio
类型 | 默认值 | 说明 |
---|---|---|
错误返回码:MediaError.code
返回错误码描述
描述 |
---|
wx.createAudioContext(audioId)
创建并返回audio上下文audioContext对象,控制音频的播放暂停与跳转。
参数 | 说明 |
---|---|
--> <button type="primary" bindtap="audioPlay">播放
今天早上发现微信小程序的官方文档在实时跟新,之前的有些标签或者方法不见了。以上是控制audio组件的方法是根据组件的唯一id生成相应的实例对象,通过对象的各种发放来控制组件。我现在看到的官方文档是通过有个action属性,给属性指定特定的值组件就会执行特定的动作。
<button type="primary" bindtap="audioPlay">播放
上一种方法好像没有不能控制播放速度,这种方法相比上一种比较方便,并且效率上应该也比较高。 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
id:标注唯一组件以this.audioCtx = wx.createAudioContext('myAudio')获取控制组件的对象。
bindplay:播放时触发该事件
bindpause:停止时触发该事件
bindtimeupdate:时间改变时触发,该函数携带有参数detail={currentTime,duration}当前时间,持续播放时间
bindended:播放结束时触发
binderror;播放错误时调用,携带参数detail = {errMsg: MediaError.code}
<audio poster="{{poster}}" name="{{name}}" author="{{author}}" src="{{src}}" id="myAudio" controls loop bindplay="funplay" bindpause="funpause" bindtimeupdate="funtimeupdate" bindended="funended" binderror="funerror">
<button type="primary" bindtap="audioPause">暂停
<button type="primary" bindtap="audio14">设置当前播放时间为14秒
<button type="primary" bindtap="audioStart">回到开头
method
描述
data
<button type="primary" bindtap="audioPause">暂停
<button type="primary" bindtap="audioPlaybackRateSpeedUp">调为2倍速
<button type="primary" bindtap="audioPlaybackRateNormal">调为1倍速
<button type="primary" bindtap="audioPlaybackRateSlowDown">调为0.5倍速
<button type="primary" bindtap="audio14">设置当前播放时间为14秒
<button type="primary" bindtap="audioStart">回到开头
data: {
poster: 'http://pic.pimg.tw/pam86591/1408719752-3322564110_n.jpg',name: 'Sugar',author: 'Maroon 5'
},audioPlay: function () {
this.setData({
action: {
method: 'play'
}
});
},audioPause: function () {
this.setData({
action: {
method: 'pause'
}
});
},audioPlaybackRateSpeedUp: function () {
this.setData({
action: {
method: 'setPlaybackRate',data: 2//加快速度
}
});
},audioPlaybackRateSlowDown: function () {
this.setData({
action: {
method: 'setPlaybackRate',data: 0.5//小于零放慢速度
}
});
},audio14: function () {
this.setData({
action: {
method: 'setCurrentTime',data: 14
}
});
},audioStart: function () {
this.setData({
action: {
method: 'setCurrentTime',data: 0
}
});
}
})