收藏
回答

InnerAudioContext.destroy()是否真实销毁?

我在页面的onHide和onUnload方法中都调用了

this.innerAudioContext.destroy();

但是页面切换后,有时音乐会继续播放,再次进入有音乐的页面后,音乐会重叠播放。

此问题没有稳定复现,所以我很好奇,为什么页面都切换了,都destroy了,还会继续播放

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

11 个回答

  • 皱凯凯凯凯
    皱凯凯凯凯
    2020-03-11

    问题依然存在,A -> B页面,B页面创建示例播音乐,关闭B音乐在对应生命周期pause、stop、destory音乐仍然坚挺

    2020-03-11
    有用 4
    回复 3
    • 海风
      海风
      2020-12-18
      解决了吗?
      2020-12-18
      回复
    • 皱凯凯凯凯
      皱凯凯凯凯
      2021-01-12回复海风
      没有
      2021-01-12
      回复
    • ZZ
      ZZ
      2021-01-13
      没有官方给看看么
      2021-01-13
      回复
  • 手信云
    手信云
    2020-03-02

    我也纠结了一晚上了。第一次进入,退出,正常。第二次再进入,退出,不正常。

    2020-03-02
    有用 2
    回复
  • 易
    2022-08-05
    解决一直播放的问题:
    const audioCtx = wx.createInnerAudioContext({
      useWebAudioImplement: true
    })
    Page({
      onShow() {
        audioCtx.pause() //用于关闭之前播放音,之前没有播放也不会报错
    
    2022-08-05
    有用
    回复
  • 海风
    海风
    2020-12-18

    老哥,此问题解决了吗?

    2020-12-18
    有用
    回复
  • 大洪
    大洪
    2020-05-09

    怎么个innerAudiocontext这么多情况,我也遇到同一页面播放歌曲第二首时出现不正常,无故跳转、停滞卡顿等显像。情况描述:https://developers.weixin.qq.com/community/develop/doc/0006063c344730ed275a1011f56400?from=tool&idescene=7

    2020-05-09
    有用
    回复 4
    • ZZ
      ZZ
      2020-05-18
      不用创建多个,直接改变src就可播放第二首
      2020-05-18
      1
      回复
    • 大洪
      大洪
      2020-05-18回复ZZ
      我后来还是改回只用一个播放器对象处理,但还是有很多问题要解决的:如:播放对象初创建时播放第一首歌曲是完全正常(所谓正常是指播放时间进度走向正常、获取时间正常、onTimeUpdate事件正常、歌词也同步正常),当自动播放跳转到第二首歌曲播放时,出现歌曲不能再同步,只显示,也不滚动,这是onTimeUpdate事件里没执行正常。还有,有时候获取不到歌曲的时间长及播放进度,导致进度条显示不正常等等问题。估计这些问题都应该是异步获取播放数据及歌词的缘故。
      2020-05-18
      回复
    • ZZ
      ZZ
      2020-05-18回复大洪
      我做的没有歌词之类的,你这个应该是逻辑问题,想好怎么同步,我觉得
      2020-05-18
      回复
    • 大洪
      大洪
      2020-05-18回复ZZ
      逻辑是有一定的问题,但应该不是主要问题,由于在播放时实时获取的信息有一定量,这些信息出场不同步造成的结果(这个是我猜的,估计也是主要问题,就是异步转同步的问题)
      2020-05-18
      回复
  • 景庆
    景庆
    2020-05-06

    亲测。在page外创建的InnerAudioContext,会出现退出后再进入页面,音频叠加的问题。我的解决方法:在page的data{}中创建InnerAudioContext 可以解决音频叠加的问题。

    2020-05-06
    有用
    回复 2
    • ZZ
      ZZ
      2020-05-06
      你是多个页面有音乐的么,我是前一个有,后一个也有,跳转就需要前一个关,后一个开,有时候会叠加
      2020-05-06
      回复
    • 景庆
      景庆
      2020-05-06回复ZZ
      我是有一个页面里面有InnerAudioContext。你的情况的话,可以试试在page的onLoad()中this.data.innerAudioContext=wx.createInnerAudioContext(),  然后onHide()中 destroy(),. 到后一个页面同样处理,尝试下咯
      2020-05-06
      回复
  • ZZ
    ZZ
    2019-12-31

    没解决,感觉是请求网络歌曲,切换页面后在请求下来就播放了

    2019-12-31
    有用
    回复
  • 你看到的我是蓝色
    你看到的我是蓝色
    2019-12-20

    跳转的时候就直接调用destroy(),不要在onUnload时候调用

    2019-12-20
    有用
    回复
  • 东邪亨歌
    东邪亨歌
    2019-12-18

    请问 你这个问题解决了吗 ? 我也有这问题

    播放当中 返回,第一次是音乐停了,

    第二次再进来播放 再返回 就感觉不销毁了,音乐不会停;

    我是在page外创建的 createInnerAudioContext


    2019-12-18
    有用
    回复 1
    • 呵呵哒
      呵呵哒
      2020-02-18
      可以试下play()和stop()方法结合使用?
      2020-02-18
      回复
  • 上
    2019-12-11

    我的也是小米8SE。

    destroy()

    之后跳转到新的音频有时候会继续播放。跳到同样的页面不同的音频会叠加到一起播放

    2019-12-11
    有用
    回复 1
    • 海风
      海风
      2020-12-18
      解决了吗?
      2020-12-18
      回复

正在加载...

登录 后发表内容
问题标签