收藏
回答

AudioContext bug

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug AudioContext 客户端 6.7.2 2.2.3

部分音频获取不到duration (测试https服务的音频都获取不到duration)

当音频获取不到duration时,使用seek等方法时,小程序不停触发canplay事件,直接卡死


音频地址:

流:

http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh

(可以正常播放但是获取不到duration,开发工具和浏览器正常)


mp3:

http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh

/mobile

(开发工具和浏览器正常, 手机不能播放)

最后一次编辑于  2018-09-13
回答关注问题邀请回答
收藏

2 个回答

  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-09-13

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-09-13
    有用
    回复 5
    • Felix
      Felix
      2018-09-14

      wechatide://minicode/pcNtjpmU7y2l


      2018-09-14
      回复
    • Felix
      Felix
      2018-09-14


      2018-09-14
      回复
    • 微信技术专员-aizen
      微信技术专员-aizen
      2018-09-17回复Felix


      1. http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh 这个链接在iOS上是一个实时直播的链接,类型估计是链接的后台指定的(可以试下在safari或者微信的会话打开)。 这种实时链接在iOS的系统播放器没有计算出duration,可以尝试把实时类型去掉。另外,这种实时类型音频是不支持seek的,seek到导致从头播放。 一直返回canplay是因为做了seek操作,触发了bug,这个bug我们会下后续版本修复。

      2. http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh/mobile   这个链接是一个文件链接,在浏览器打开是一个文件,在系统播放器自然也无法播放。这种情况组件是有返回error事件的。

      2018-09-17
      回复
    • Felix
      Felix
      2018-09-18回复微信技术专员-aizen

      https://demo-edu.hivoice.cn:9526/mp3/41.mp3

      同样获取不到duration, 并且调用seek同样卡死(安卓正常)


      http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh/mobile

      是mp3文件只是没有.mp3后缀。开发者工具和H5都是正常使用的

      2018-09-18
      回复
    • 微信技术专员-aizen
      微信技术专员-aizen
      2018-09-18

      1. https://demo-edu.hivoice.cn:9526/mp3/41.mp3  这个链接和我上面回复的1是同一个问题

      2. http://edu.hivoice.cn:9088/WebAudio-1.0-SNAPSHOT/audio/play/b4914fba-ec63-4209-9c21-a793718a0f1c/1536825827580455169/sh/mobile 确实是一个文件链接,即使加上mp3文件后缀在windows和mac平台上的工具和浏览器都无法播放。 你可以尝试用safari播放,如果播放失败就是本身系统不支持



      2018-09-18
      回复
  • 沉冰
    沉冰
    2018-09-13

    我今天做的video组件的也不能设duration,设置了只是显示那么多,实际还是能全部播放,不知道咋回事,我自己又新建了个测试用例,结果还是不行

    2018-09-13
    有用
    回复 1
    • Felix
      Felix
      2018-09-13

      我提过一次duration获取不到, 但是官方没给解决方案

      这次也是因为duration问题,seek时 不停的触发 canplay事件, 直接把小程序卡死了,

      2018-09-13
      回复
登录 后发表内容