wx.playBackgroundAudio(OBJECT)
我用这个接口播放音频,在安卓机和开发者工具都没问题,但是用ios播放直接会进入错误回调函数,为什么?但是用官方提供的那个mp3文件却没问题,(我播放的地址是自己后台的音频地址不能用),各位大佬能不能帮忙看下是什么问题?
编写了一个小程序,调用易源接口网的QQ音乐接口,经过反复测试,接口调用是成功的,但在苹果手机(P6S PLUS,IOS9.3.2)上就是无法播放出声音,播放和暂停的按钮都可以正常点击。找了好多资料,仍无法解决。代码如下:
WXML代码(节选):
<view bindtap=‘playToggle’>
<image src="…/images/{{isPlaying?‘w_stop’:‘w_play’}}.png"/>
</view>
JS代码(节选):
playToggle:function(){
var self=this;
if(this.data.song.songname==‘未选择歌曲’){return;}
if(this.data.isPlaying){
wx.stopBackgroundAudio();
}else{
wx.playBackgroundAudio({
dataUrl: this.data.song.url||this.data.song.m4a,
title: this.data.song.songname,
success:function(res){ //已测试调用成功
}
})
}
this.setData({
isPlaying: !this.data.isPlaying
});
},
在开发者工具下,wx.playBackgroundAudio 设置不同url 可以将当前音频切换到下一个播放,没毛病。wx.onBackgroundAudioPlay 钩子可以执行。
ios 设备下,直接 wx.playBackgroundAudio 切换url 播放不同 音频,虽然可以播放,但是不会执行 wx.onBackgroundAudioPlay 钩子! 很无语啊.....
但是先调用过 wx.pauseBackgroundAudio(); 再去调用 wx.playBackgroundAudio 又可以进入 wx.onBackgroundAudioPlay 钩子,大神啊,求解释啊 这是怎么一回事啊,我快吐血而亡了