1、uni.createInnerAudioContext()创建的音频管理,挂载到main.js上作为一个全局变量,因为我想在很多页面控制它的播放、暂停和关闭。
//创建全局的音频管理
Vue.prototype.innerAudioContext = uni.createInnerAudioContext()
//如有新建,设置全局的音频
Vue.prototype.setAudio = function(audio){
Vue.prototype.innerAudioContext = audio
}
然后在每个页面还要监听它的播放时间、播放状况等显示出来。我在要显示的多个页面都写了监听时间,并且关闭音频或者页面结束的时候,都取消了监听。但是页面切换多次,音频暂停播放多次都感觉监听就混乱了,经常出现监听多次的情况,比如按下暂停,停止监听执行多次,其他关闭的页面也打印出了监听方式。
【请教一个全局音频监听、控制的 思路和方法】本来想整个播放时显示的小窗口在页面上,然后每个页面都可以显示,结果不会,就在多个页面上单独写了个可拖拽移动的view,通过全局变量来控制显示的时间和播放状态等。
//一些监听方法:
this.innerAudioContext.onTimeUpdate(() => {
。。。
this.innerAudioContext.onPause(() => {
。。。
//取消监听方法:
this.innerAudioContext.offTimeUpdate(function(){
。。。
this.innerAudioContext.offStop(function(){
。。。。
1 个回复
长方体移动师 - 一个奇葩的程序员
例如:一个 innerAudioContext 对象多次绑定 onEnded 事件。