WeChat小程序交流(QQ群:769977169)
使用video,或audio组件进行音视频的播放时,点击播放A文件后,再点击B文件进行播放时,可能会造成A、B同时进行播放的情况。造成这种情况的原因是,播放B文件时,没有停止对A文件的播放。
具体解决方法是,在video,或audio组件中绑定事件,并在wxjs文件中完善处理逻辑。代码示例如下:
xxx.wxml文件中绑定事件
<audio ... catchtap='audioPlay'></audio> <video ... catchtap='videoPlay'></video>
xxx.wxjs文件中实现
audioPlay: function(even) { console.log(even) // 停止上一个视频的播放 if (this.videoContext) { this.videoContext.pause() } // 停止上一个音频的播放 if (this.audioContext) { this.audioContext.pause() } this.audioContext = wx.createAudioContext(even.currentTarget.id, this) } videoPlay: function (even) { console.log(even) // 停止上一个音频的播放 if (this.audioContext) { this.audioContext.pause() } // 停止上一个视频的播放 if (this.videoContext) { this.videoContext.pause() } this.videoContext = wx.createVideoContext(even.currentTarget.id, this) }