我已经尝试了所有我能想到的解决方案,但仍然无法让它发挥作用。我可以在包括 iPhone 在内的每个浏览器中加载和播放 mp3 或 ogg,但唯一剩下的边界是 iPad,并且无法播放音频。当我点击歌曲时,它会将代码加载到音频播放器 src 中,但它不会播放歌曲。同样,这适用于所有其他支持 HTML5 的浏览器,但 iPad 不播放该文件。如果我将文件路径粘贴到代码中,歌曲就会播放,所以我认为它与加载和播放功能有关,但我不知道具体如何。
下面是相应的代码。任何帮助都会非常感激。提前致谢。
HTML
<div id="song-title-display"></div>
<div id="song-title">
<ul class="list">
<li><a class="tracks selected" id="1_tracks" href="1" data-file="song1">Song1</a></li>
<li><a class="tracks" id="2_tracks" href="2" data-file="song2">Song2</a></li>
</ul>
</div>
<audio id="audio-player" name="audio-player">
<source id="source-file1" src="" type="audio/mpeg">
<source id="source-file2" src="" type="audio/ogg">
</audio>
JS
$("#song-title a").click(function() {
var name = $(this).html(),
filename = $(this).attr("data-file");
filename2 = "uploadedsongsfolder" + filename;
filename3 = "uploadedsongsfolder" + filename + ".mp3";
filename4 = "uploadedsongsfolder" + filename + ".ogg";
$('#song-title-display').html($(this).html());
clickedID=$(this).attr('href');
$('.tracks').removeClass('selected'); $('#'+clickedID+'_tracks').addClass('selected');
document.getElementById('source-file1').src = filename3;
document.getElementById('source-file2').src = filename4;
$("#audio-player")[0].load();
$("#audio-player")[0].play();
return false;