之前调用wx.createAudioContext创建的audio是可以播放百度的音频的,现在换了
createInnerAudioContext
以后在开发工具可以播放,换到真机就不工作了,代码如下,报错如截图
playAudio: function () { const audio = wx.createInnerAudioContext() audio.autoplay = true ; audio.src = 'https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=1&text=福'; console.log(audio.src); audio.onPlay(() => { console.log( 'onPlay:开始播放' ); this .setData({ isplaying: true }); }); audio.onEnded(() => { console.log( 'onEnded:音频自然播放结束事件' ); this .setData({ isplaying: false }); audio.destroy(); }); audio.onStop(() => { console.log( 'onStop:音频停止事件' ); this .setData({ isplaying: false }); audio.destroy(); }); audio.onError((res) => { console.log( "onError:" + res.errMsg); console.log(res); audio.destroy(); }); audio.onWaiting((res) => { console.log( 'onWaiting:音频加载中事件,当音频因为数据不足,需要停下来加载时会触发' ) console.log(res) }); audio.onCanplay(() => { console.log( 'onCanplay' ); audio.play(); }); }, |
请问这是什么问题呢?如果网址直接是一个mp3文件,这个方法是可以播放的。
谢谢楼主,学习了:)
楼主,请问这个地址怎么编码呢,比如我们的地址是https://tengxun.dabuding0301.com/upload/mood_voice/151970220448771.mp3这个,在ios设备上概率性失败,需要怎么编码呢,麻烦写一下,谢谢了
我的wav无法播放,但是转成mp3就没问题了。因为音频文件很短,所以并没有出现突然中断的情况。
请问在播放wav格式的文件时会存在突然中断,或者直接不能播放的情况吗
找到原因了。需要对url 进行编码才可以。。。
audio.src =
'https://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=1&text='+
encodeURIComponent('福');
发现问题了,如果音频很短,他就报错,如果够长就没问题。这就奇怪了。难道单字的发音就无法用这个接口吗?