javascript - HTML5 音频加载和播放无法在 iPad 上运行

标签 javascript ipad html media-player html5-audio

我已经尝试了我能想到的所有解决方案,但仍然无法使其发挥作用。我可以在包括 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;

最佳答案

试试这个:

$("#audio-player")[0].addEventListener('canplaythrough', mobileReady, false);

function mobileReady(){

  $("#audio-player")[0].play() 

}

关于javascript - HTML5 音频加载和播放无法在 iPad 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12418677/

相关文章:

ios - 在运行时更改方向更改 ViewControllers

javascript - 函数参数测试类型

javascript - 我希望能够在网络上查看闭路电视屏幕

html - CSS 溢出问题 iPad

javascript - Chrome 扩展 - 在全屏视频顶部显示自定义通知/弹出窗口(HTML 元素)

javascript - 屏幕截图 ala Draw Something

html - 如何将 css 样式表应用于单个特定元素?

javascript - 不应该将 onsubmit 设置为 "false"以防止实现表单的操作吗?

javascript - Mongodb 在 javascript 更新脚本中写关注

iphone - iPhone 和 iPad 上的字体字体字母间距太大