收藏
回答

用wx.createInnerAudioContext()创建播放器是否每播放一下首歌都要重新创建?

我在页面文件里创建了一个播放器对象:

const audioBk = wx.createInnerAudioContext(); // 创建音频播放对象

Page({

  // *---------------*

  //  页面的初始数据

  // *---------------*

  data: {

....

在使用该对象播放音乐时,比如有10首歌,从第一首开始,每播完一首,我从结束监听里跳转到下一首继续播放:

audioBk.onEnded(function(){

that.playNext(); 

 });

但播着播着就会自动停了,也不是停了,不停在跳另一首,但之首的那首还未播完,跳到下一首时不是从0开始播放,而是从一段时间里播放,是否每播放完一首就要把创建的播放器对象释放,然后再重新创建一个,再去播放,如此循环?或是innerAudioContext对象本身有问题?请各位指教!谢谢!

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

2 个回答

  • 👀
    👀
    2020-05-09

    创建新的就把旧的的销毁掉,不要复用,之前搞的一个游戏也是这么搞的,重复使用原有的对象会有卡顿或者无法播放。。

    2020-05-09
    有用 1
    回复 2
    • 大洪
      大洪
      2020-05-09
      对啊,使用原来的就确实有卡顿的情况,我还是每一首歌重新创建一个播放对象试试,谢谢回复!
      2020-05-09
      回复
    • 大洪
      大洪
      2020-05-09
      我改为每次播放一首歌时,先把原来的播放对象销毁,再马上用相同的对象名创建一个新的播放对象,再播放歌曲,但这样又存在了另一种情况,就是所有监听事件不起作用。onCanPlay(),seek(),onTimeUpdate(),onEnded()都不起监听作用,唉,又怎么回事呢?怎么问题连连?
      2020-05-09
      回复
  • 南海之梦18672172869
    南海之梦18672172869
    发表于移动端
    2020-05-09
    。Iq。
    2020-05-09
    有用
    回复
登录 后发表内容
问题标签