收藏
回答

Windows下开发工具音频事件触发问题

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1810250

- 当前 Bug 的表现(可附上截图)

//index.js

//获取应用实例

const app = getApp()

let audioContext = wx.createInnerAudioContext();

audioContext.autoplay = true;

audioContext.loop = true;

Page({


/**

  * 页面的初始数据

  */

data: {

songs: ["http://www.ytmp3.cn/down/54872.mp3", "http://www.ytmp3.cn/down/54866.mp3", "http://www.ytmp3.cn/down/54858.mp3","http://www.ytmp3.cn/down/54824.mp3"],

nowSong:0,

nowplay:true,

duration:0,

currentTime:0,

percent:0



},

play(src){

// onTimeUpdate

audioContext.src=src;

audioContext.onPlay(()=>{

console.log(audioContext.duration)

this.setData({

duration: audioContext.duration

})

})

clearInterval(this.timer)

this.timer=setInterval(()=>{

this.setData({

duration: audioContext.duration,

currentTime: audioContext.currentTime,

percent: audioContext.currentTime * 100 / audioContext.duration

})

},1000)

},

pause() {

console.log(audioContext.paused)

if (!audioContext.paused) {

audioContext.pause()

} else {

audioContext.play()

}

this.setData({

nowplay:!this.data.nowplay

})

},

stop() {

audioContext.stop()

},

beforesong(){

let index;

if (this.data.nowSong<0){

index = this.data.songs.length-1;

}else{

index = this.data.nowSong-1;

}

this.setData({

nowSong: index

})

audioContext.src=this.data.songs[this.data.nowSong]

},

aftersong(){

let index;

if (this.data.nowSong > this.data.songs.length - 1) {

index = 0;

} else {

index = this.data.nowSong + 1;

}

this.setData({

nowSong: index

})

audioContext.src = this.data.songs[this.data.nowSong]

},

darg(event){

audioContext.seek(event.detail.value * audioContext.duration/100)

this.setData({

persent: event.detail.value

})

},

/**

  * 生命周期函数--监听页面加载

  */

onLoad: function(options) {

let that=this;

this.play(this.data.songs[this.data.nowSong])

audioContext.onEnded(function () {

console.log("123")

that.aftersong()

})

},

})



onEnded事件在开发工具上不会触发,但是用手机预览测试可以触发,另外onTimeUpdate事件也不会触发

- 预期表现


- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  2018-11-15  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 是柿子啊
    是柿子啊
    2018-11-15

    提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-11-15
    赞同
    回复 2
    • Evan机器人
      Evan机器人
      2018-11-15

      https://developers.weixin.qq.com/s/SNOPxWmN7y32


      Windows10操作系统pc端onEnded事件在开发工具上不会触发,但是用手机预览测试可以触发,另外onTimeUpdate事件也不会触发

      2018-11-15
      回复
    • 是柿子啊
      是柿子啊
      2018-11-15回复Evan机器人

      代码呢?

      2018-11-15
      回复