首頁>Program>source

除了使用者執行的Click事件的處理程式之外,在任何其他情况下,我似乎都無法在iOS 4.2.1的Mobile Safari中播放音频媒體.即使那樣,如果 player.play() 以任何異步方式被呼叫( ajax, setTimeout 等等)。

我尝試致電 player.load()player.play()之前 .我尝試在其處理程式呼叫 player.play()的dom元素上觸發click事件 .我尝試同時使用音频和视频標簽。

在iOS 4.2.1之前有效的所有漏洞似乎都已關闭.有什麼想法吗?

最新回復
  • 5月前
    1 #

    从iOS 4.2.x開始,如果没有使用者輸入事件(如touchstart),將不会開始下載媒體。

    所以答案是 no ,没有方法可以通過JavaScript或其他方法自動播放媒體。

  • 5月前
    2 #

    有一種方法可以在4.2.1上自動播放视频/音频檔案.建立一个iframe,並將其源設置為媒體檔案的URL,然後將iframe附加到正文中.它会自動播放。

    var ifr=document.createElement("iframe");
    ifr.setAttribute('src', "http://mysite.com/myvideo.mp4");
    ifr.setAttribute('width', '1px');
    ifr.setAttribute('height', '1px');
    ifr.setAttribute('scrolling', 'no');
    ifr.style.border="0px";
    document.body.appendChild(ifr);
    

  • 5月前
    3 #

    正如其他人在這裏所說並根据Apple文件所述,MobileSafari不支援video標簽中的autoplay屬性.但是,在iOS 6中,它確實可以工作.這似乎是Apple在iOS 6.0.1(可能在iOS 6.1)中修複的錯誤。

    如果您偶然發現iOS 6中的自動播放功能,請不要依赖於自動播放。

    -Michael

  • 5月前
    4 #

    作為一種解決方法,我尝試將load()/ play()代碼繫結到click事件,然後以程式設計方式觸發click事件.這種方法適用於Desktop Safari,但不適用於Mobile Safari。

  • 5月前
    5 #

    该方法在iPad上有效,直到昨晚4.2升級:

    $(function() {
        var Beep = document.createElement('audio');
        Beep.setAttribute('src', 'beep-23.mp3');
        Beep.load();
        Beep.play();
    }
    

    我的 Beep.play(); 仍然適用於點击事件,但初始 Beep.play() 停止工作...

  • java:如何使用Google的Gson API正確反序列化JSON?
  • 从Java方法返迴多个值:為什麼没有n元組物件?