收藏
回答

InnerAudioContext.seek在跳转到指定位置后 currentTime没更新

InnerAudioContext.seek在跳转到指定位置后  currentTime没更新

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

8 个回答

  • 
    
    2020-05-04

    我也遇到了同样的问题,当音频正在播放的时候seek会导致之后的onUpdateTime没法回调。但我seek之前先pause一下,然后seek,最后onSeeked里面再play之后就没有这个问题(不能确定没问题,但目前我这边是跑的没问题的,大家可以试试)。

    2020-05-04
    有用 7
    回复 6
    • 大洪
      大洪
      2020-05-06
      能否贴一下你的代码大概逻辑如何,我也有同样问题,但按你的方法仍然跳转不到指定的位置开始播放,谢谢!
      2020-05-06
      回复
    • 无限维度
      无限维度
      2020-11-30
      或者在onSeeking和onSeeked事件里访问一下innerAudioContext.duration,onUpdateTime也能正常回调
      2020-11-30
      回复
    • 拥有缺陷更容易接近完美
      拥有缺陷更容易接近完美
      2021-06-23回复无限维度
      我用你这种方法,测试没有生效,可以贴下你的代码,给我看看
      2021-06-23
      回复
    • 是吴玥
      是吴玥
      2021-07-20
      谢谢 有用
      2021-07-20
      回复
    • |
      2021-07-26回复无限维度
      我的ios和安卓都是,拖动slider后音频从0开始,在onSeeking里加nnerAudioContext.duration就正常了
      2021-07-26
      回复
    查看更多(1)
  • Robbie Zhu
    Robbie Zhu
    03-28

    2024年了 这个问题还在

    03-28
    有用 1
    回复
  • madoudou
    madoudou
    2020-04-27

    页面有两条语音要播放,切换src后seek()无效,音频还是会从开头播放,这是什么问题造成的?

    2020-04-27
    有用 1
    回复
  • 一笑皆春
    一笑皆春
    2023-07-03

    2023年7月3日遇到seek不管用,还是从头播放,或者说官方没给具体的示例代码,我们用的不对?感觉大概率不是用的不对,因为seek放在各种位置都试过了

    2023-07-03
    有用
    回复 2
    • 1010011010
      1010011010
      2023-10-05
      2023年10月3日遇到seek不管用,还是从头播放,或者说官方没给具体的示例代码,我们用的不对?感觉大概率不是用的不对,因为seek放在各种位置都试过了
      2023-10-05
      回复
    • 哄哄
      哄哄
      2023-11-30
      播放要放到 onCanplay 函数里面 onTimeUpdate()函数才能监听到
      2023-11-30
      回复
  • smart
    smart
    2022-08-12

    我这个是也是,当seek改变播放位置的时候,在currentTime里面能够拿到更新的位置数值,但是他不是立马更新,有一个延迟,,


    然后我就修改成下面代码,第一个是记录滑块滑动中的数值,此时关闭定时器,让定时器检索到播放器的试试数值不在更新到滑块中,,,然后当我滑块滑动完成之后才打开定时器从新更新音频当前播放位置到滑块中,,,修改之后测试发现,currentTime的延迟更新没有了,即为实时更新滑块中的数值,,,,


    但是改bug的时候,改完,再回来用这个seek和currentTime的时候,发现问题又复现了,,,

     

       bindchanging(event){
            // console.log(event)
            clearInterval(__this.data.timerID)
            this.data.sliderData.value= event.detail.value
            this.setData({
                sliderData:this.data.sliderData
            })
            player.seek(event.detail.value)
        },
        bindchange(event){
            __this = this
            // player.seek(event.detail.value)
            console.log(event.detail.value)
            //下面是实时获取当前播放器的时长,并更新到进度条的当前值的对象中
            this.sliderTime();
    /*
                    sliderTime(){
             //下面是实时获取当前播放器的时长,并更新到进度条的当前值的对象中
             __this.data.timerID=setInterval(function() {
                __this.data.sliderData.value= player.currentTime;
                __this.setData({
                    sliderData:__this.data.sliderData
                })
                console.log(__this.data.sliderData.value)
             },
              100);
        },
    */
        },
    
    
    
    
    2022-08-12
    有用
    回复
  • 觀·自在
    觀·自在
    2021-09-17
    tapRead: function (e) {
            console.log("跳转播放");
            let timeStart = Math.floor(e.currentTarget.dataset.timestart * 1000) / 1000
            let timeEnd = Math.floor(e.currentTarget.dataset.timeend * 1000) / 1000
            console.log(`${typeof(timeStart)}${timeStart} to ${typeof(timeEnd)}${timeEnd}`);
            _InnerAudioContext.seek(timeStart)
            _InnerAudioContext.play()
            this.setData({
                timeStart,
                timeEnd
            });
        },
    


    这里需要注意的是:.seek(num) 中num是数值类型,精确到小数点后 3 位。

    如果你直接用传过来的参数,是字符型就会出错。

    2021-09-17
    有用
    回复
  • 风一样的男人
    风一样的男人
    2020-05-09

    我也遇到了同样的问题,ios和android都是

    2020-05-09
    有用
    回复
  • 是小白啊
    是小白啊
    2020-04-24

    麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-04-24
    有用
    回复 10
    • 简遇而安 ʚ
      简遇而安 ʚ
      2020-04-25
      https://developers.weixin.qq.com/s/U6PnzRmt79gS
      2020-04-25
      回复
    • 是小白啊
      是小白啊
      2020-04-25回复简遇而安 ʚ
      复现的步骤是?
      2020-04-25
      回复
    • 简遇而安 ʚ
      简遇而安 ʚ
      2020-04-25回复是小白啊
      拖动slide  看控制台  console的信息
      2020-04-25
      回复
    • madoudou
      madoudou
      2020-04-27
      遇到同样的问题,seek操作后,播放从头开始,偶现(大概率)
      2020-04-27
      回复
    • 是小白啊
      是小白啊
      2020-04-28回复简遇而安 ʚ
      安卓还是iOS呢?
      2020-04-28
      回复
    查看更多(5)
登录 后发表内容
问题标签