Способ 1: если соединение в src содержит китайские символы, вы можете использовать encodeURI, чтобы сначала перекодировать его, а затем выполнить play()
innerAudioContext.src = encodeURI(voicePath);
Способ 2: Если в src нет китайского языка, используйте автовоспроизведение. Если не работает, для воспроизведения можно использовать метод play(). Если play() не работает, можно добавить таймер для задержки воспроизведения.
const innerAudioContext = wx.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = src;
innerAudioContext.loop = true;
innerAudioContext.onPlay(() => {
console.log('开始播放')
})
innerAudioContext.onStop((res) => {
console.log('停止播放')
});
// 第一种
innerAudioContext.play();
// 第二种 如果第一种没有效果
setTimeout(() => {
innerAudioContext.play();
}, 10);
Способ 3: Поскольку апплет изменяется в соответствии с режимом отключения звука в системе по умолчанию, нам нужно установить для параметра listenMuteSwitch значение false, чтобы звук был даже в режиме отключения звука, и настроить его в жизненном цикле onLaunch APP.JS.
// ios端音频不能在静音下播放处理
wx.setInnerAudioOption({
obeyMuteSwitch: false,
success: function (res) {
console.log("开启静音模式下播放音乐的功能");
},
fail: function (err) {
console.log("静音设置失败");
},
});