收藏
回答

InnerAudioContext 播放m4a文件调用 seek 方法后进度不再回调

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug InnerAudioContext 微信安卓客户端 Version 8.0.10。1960 2.19.6

bug描述:

使用 InnerAudioContext 进行音频播放,在真机的微信小程序中,播放 .m4a 文件时 。

首次播放一切正常,如果重新设置 InnerAudioContext.src 并调用play()方法做切换音频操作时,

音频切换后使用 InnerAudioContext.seek 方法拖动进度条后,innerAudioContext.onTimeUpdate 方法不再被回调。

实际的播放进度改变,只是 onTimeUpdate 方法不再被回调。

此问题只发生在Android 微信小程序真机运行效果中,使用模拟器或者在真机上以Debug模式运行都不会出现这个问题。


示例代码:

页面中初始化

createAudio() {  
                var innerAudioContext = this._audioContext = uni.createInnerAudioContext();  
                innerAudioContext.autoplay = this.isAutoplay;  
                innerAudioContext.src = this.musicList[this.playingPosition].fileId;  
} 

切换音频播放

            playTargetPosition(position) {  
                this._audioContext.stop();  
                this._audioContext.src = this.musicList[position].fileId;  
                this._audioContext.play();  
            },  

变更音频进度

            onUserChange(data) {  
                this._audioContext.seek(data.detail.value / 1000);  
            },  


操作步骤:

前提:音频文件为.m4a格式

1.初始化 InnerAudioContext 对象

2.修改 InnerAudioContext.src 变更播放地址

3.使用 InnerAudioContext.seek 方法变更播放进度


预期结果:

innerAudioContext.onTimeUpdate 事件能正常回调


实际结果:

innerAudioContext.onTimeUpdate 事件不再被回调

回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容