小程序 ios音频无法播放 - 路径不能含有中文

使用 wx.createInnerAudioContext() 创建的音频播放的时候,在安卓和模拟器中都可以正常播放,在ios中无法播放,这个时候有两个方面:

  • 问题一:在ios选择静音模式下,音频是无法正常播放的,这里不做过多解释,详解相关点击 传送门
  • 问题二:在音频的路径中不能存在中文(大坑),下面就中文问题进行描述。

音频链接中不能存在中文,使用encodeURIComponent()将链接全部编码也不能识别,只能将 https://xxx.xxx.xxx/ 去除剩余部分进行编码才可以,代码如下:

let audio = 'https://xxx.xxx.xxx/uploads/music/拥抱春天.mp3';
// 兼容ios,实现地址转码,encodeURIComponent中的为歌名
let src = audio.slice(0,audio.indexOf('music')+6) + encodeURIComponent(audio.slice(audio.indexOf('music') + 6 ))
innerAudioContext.src =  src