王潇
王潇
  • 发布:2021-02-01 17:54
  • 更新:2021-02-02 11:17
  • 阅读:2142

【报Bug】uni.createInnerAudioContext()在微信小程序上获取不到完整的音频时长duration

分类:uni-app

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

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.0.7

第三方开发者工具版本号: 1.05.2101181

基础库版本号:

项目创建方式: HBuilderX

示例代码:
creatAudio() {  
                this.innerAudioContext = uni.createInnerAudioContext();  
                this.innerAudioContext.src = this.recordPath;  
                this.innerAudioContext.title = '音频';  
                this.innerAudioContext.autoplay = false;  
                this.innerAudioContext.obeyMuteSwitch = false;  

                this.innerAudioContext.onPlay(() => {  
                    // 播放监听  
                    console.log('播放!');  
                });  
                this.innerAudioContext.onPause(() => {  
                    // 暂停监听  
                    console.log('暂停播放!');  
                });  
                this.innerAudioContext.onSeeking((res)=>{  
                     console.log("进行跳转", res);  
                })  
                this.innerAudioContext.onSeeked((res) => {  
                  // 监听结束跳转事件callback(无效)  
                  console.log("结束跳转", res);  
                });  
                this.innerAudioContext.onEnded(() => {  
                  // 结束播放监听  
                  console.log('播放结束!');  
                });  

                this.innerAudioContext.onTimeUpdate(() => {  
                    const { currentTime , duration ,buffered} = this.innerAudioContext;  
                    //进度条最大值  
                    this.sliderMax =duration;  
                    console.log(duration,"音频时长")//就是这个时长的bug  
                    console.log(buffered,"音频缓冲")  
                });        
},  

操作步骤:

下面两个录音文件每个录音文件时长是5分钟,使用const { duration } = this.innerAudioContext;获取时长经常会出现1分40秒;开始我以为是没有加载完,但是多次尝试后发现duration 不会更新。
而我手动赋值进度条长度,音频又可完整播放,但不可快进,seek不触发,多次调试后发现是音频时长获取的不对。

预期结果:

获取每个音频的长度,并可以进行快进等操作

实际结果:

在h5,微信开发者工具上都正常,到真机上就经常获取不到完整音频的时长。

bug描述:

录音文件:
https://static.quhouse.com/audio/6103-359339075946911-20210129121317-209600.mp3
https://static.quhouse.com/audio/6103-359339075946911-20210129122818-209600.mp3

2021-02-01 17:54 负责人:无 分享
已邀请:
王潇

王潇 (作者) - 哈哈哈哈

有没有大佬给看看

王潇

王潇 (作者) - 哈哈哈哈

有没有大佬给看看

王潇

王潇 (作者) - 哈哈哈哈

有没有大佬给看看

王潇

王潇 (作者) - 哈哈哈哈

有没有大佬给看看

DCloud_UNI_GSQ

DCloud_UNI_GSQ

不使用 uni-app 的情况下测试是否正常

  • 王潇 (作者)

    最新版本更新后,这个问题就没有了。我 代码一点没有动,自己好了

    2021-02-25 11:10

  • DCloud_UNI_GSQ

    回复 王潇: 最新版本的什么?微信开发者工具还是微信?

    2021-02-25 11:52

  • 王潇 (作者)

    回复 DCloud_UNI_GSQ: 微信开发者工具

    2021-02-25 16:30

  • DCloud_UNI_GSQ

    回复 王潇: 哦,可能是微信修复了

    2021-02-25 19:35

  • 王潇 (作者)

    回复 DCloud_UNI_GSQ: 你好,这个问题又复现了,再次获取不到完整长度了

    2021-03-19 10:36

  • 王潇 (作者)

    回复 王潇: 回复 DCloud_UNI_GSQ: 我在编辑器上测试了audio标签也获取不到完整长度,播到3分之一就不播放了

    2021-03-19 10:38

  • 王潇 (作者)

    回复 DCloud_UNI_GSQ我开发的是微信小程序,这个问题在安卓手机上有,iOS端多次测试没有问题

    2021-03-19 10:39

  • DCloud_UNI_GSQ

    回复 王潇: 到微信小程序社区反馈一下

    2021-03-22 15:47

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