Решение для createInnerAudioContext апплета, чтобы не было звука на iOS

Способ 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("静音设置失败");
            },
        });

Je suppose que tu aimes

Origine blog.csdn.net/qq_37564189/article/details/125302980
conseillé
Classement