不想去上班
不想去上班
  • 发布:2021-10-12 11:38
  • 更新:2021-10-14 15:43
  • 阅读:704

【报Bug】【报Bug】调用 InnerAudioContext.seek 方法后 innerAudioContext.onTimeUpdate 事件不再被回调

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows10 1709

HBuilderX类型: 正式

HBuilderX版本号: 3.2.2

第三方开发者工具版本号: 微信开发者工具1.05.2107090

基础库版本号: 不知道

项目创建方式: HBuilderX

示例代码:

页面中初始化

            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 事件不再被回调

bug描述:

使用 InnerAudioContext 进行音频播放,在真机的微信小程序中,播放 .m4a 文件时 。
首次播放一切正常,如果重新设置 InnerAudioContext.src 并调用play()方法做切换音频操作时,
音频切换后使用 InnerAudioContext.seek 方法拖动进度条后,innerAudioContext.onTimeUpdate 方法不再被回调。
实际的播放进度改变,只是 onTimeUpdate 方法不再被回调。
此问题只发生在Android 微信小程序真机运行效果中,使用模拟器或者在真机上以Debug模式运行都不会出现这个问题。

2021-10-12 11:38 负责人:DCloud_uni-ad_HDX 分享
已邀请:
DCloud_uni-ad_HDX

DCloud_uni-ad_HDX

根据你的描述大概率是微信小程序的bug,用微信原生小程序写法试试
m4a文件是网络地址还是本地路径?
Android App平台也存在同样的问题,预计在 hx 3.2.10+ 修复

  • 不想去上班 (作者)

    m4a文件是本地音频。

    用微信小程序原生写法也就只是把uni.createInnerAudioContext() 换成 wx.createInnerAudioContext() 是么

    这样的话我试了还是一样的效果

    2021-10-14 16:06

不想去上班

不想去上班 (作者)

m4a文件是本地音频。
用微信小程序原生写法也就只是把uni.createInnerAudioContext() 换成 wx.createInnerAudioContext() 是么
这样的话我试了还是一样的效果

该问题目前已经被锁定, 无法添加新回复