跨页面播放背景音

Playing background sound across pages

希望你一切都好?

我正在尝试根据用户导航播放不同的音频标签。该代码在 Android 手机和平板电脑以及计算机上的所有现代浏览器上都按预期工作,但在 iOS.

上却没有

我有一个包含 3 个音频标签的 HTML 页面:

<audio id="sound1" src="story_content/WebObjects/61H0uJPbrS5/sound_1.mp3" loop=""></audio>
<audio id="sound2" src="story_content/WebObjects/61H0uJPbrS5/sound_2.mp3" loop=""></audio>
<audio id="sound3" src="story_content/WebObjects/61H0uJPbrS5/sound_3.mp3" loop=""></audio>

这是jquery部分。当用户触发页面更改时设置变量 'slaudio':

$('audio').each(function() {
    if (typeof this.origvolume !== 'undefined') {
        this.pause();
        this.currentTime = 0;
    }
});

if ($("audio[id='" + slaudio + "']").length > 0) {
    $("audio[id='" + slaudio + "']")[0].play();
}

知道为什么 <audio id="sound2"><audio id="sound3"> 不会仅在 iPhone 和 iPad 上触发吗? 亲切的问候。

我没有使用多个音频元素,而是改变了更改音频源的方法:

$('audio').each(function() {
    if (typeof this.volume !== 'undefined') {
        this.pause();
        this.currentTime = 0;
    }
});

if (slaudio === 'sound1') {
    audio_src = web + 'sound_1.mp3';
} else if (slaudio === 'sound2') {
    audio_src = web + 'sound_2.mp3';
} else if (slaudio === 'sound3') {
    audio_src = web + 'sound_3.mp3';
}

$('audio').attr('src', audio_src);
$('audio')[0].play();