1
我嘗試了所有我能想到的解決方案,但仍無法實現此功能。我可以在包括iPhone在內的每個瀏覽器中加載和播放mp3或ogg,但唯一剩下的邊界是iPad,並且音頻不會播放。當我點擊歌曲時,它將代碼加載到音頻播放器的src中,但它不播放歌曲。同樣,這適用於其他支持HTML5的瀏覽器,但iPad不會播放該文件。如果我將文件路徑粘貼到代碼中,歌曲會播放,所以我認爲它與加載和播放功能有關,但我無法弄清楚究竟如何。HTML5音頻加載和播放將無法在iPad上運行
下面是相應的代碼。任何幫助將veeeery非常感激。提前致謝。
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;
你試圖創建在運行時的音頻標籤,然後EVAL腳本? – karthick
是的,我沒有任何運氣。再次,奇怪的是,它可以在早期的iPhone版Safari 5中使用,但它不適用於iPad。它在iPhone上添加「類型」到源代碼之前不能在iPhone上運行。這讓我相信它真的很愚蠢。 – Johan
因此,這個uploadsongsfolder這個文件夾出現在哪裏這是一個weburi或服務器中存在的一些文件夾? – karthick