2013-10-23 238 views
4

我試圖在用戶在瀏覽器中打開網頁時自動播放視頻。在我的筆記本電腦上,自動播放適用於所有瀏覽器,但在Android上,它不適用於谷歌瀏覽器,在iphone中,它不適用於Safari瀏覽器。我已經做了一個搜索和谷歌瀏覽器在Android不支持HTML5視頻標籤,所以我使用了一些JavaScript,但它不工作。 爲什麼?我該怎麼辦? 這裏是我的代碼HTML 5自動播放谷歌瀏覽器Android不播放

<video id="video" autoplay autobuffer controls="controls" allowFullScreen > 
<source src="video.mp4" type="video/mp4"> 
<source src="video.webm" type="video/webm" webView.mediaPlaybackRequiresUserAction = NO;> 
<source src="video.theora.ogv" type="video/ogg"> 
<source src="video.flv" type="video/flv"> 
<source src="video.vob" type="video/vob"> 
<source src="video.mov" type="video/mov"> 
</video>  
<script type="text/javascript"> 
var video = document.getElementById('video');       video.addEventListener('video',function(){ 
video.play(); 
}); 

           video.addEventListener("domready", function(){            video.play(); 
}); 

           video.addEventListener("ended", function(){ 
window.location = "http://www.google.com" 
}); 
</script> 

回答

3

我也試圖自動播放Android上的鍍鉻視頻,發現這個:

On Android, html5 video autoplay attribute does not work

# 1 [email protected]

是。這是設計。適用於Android的Chrome瀏覽器禁用了「自動播放」功能。

顯然它是故意的。

+0

這是正確的。但要補充一點:Android似乎對開始播放視頻非常敏感(可能是由於數據使用)。 'autostart'屬性和'loop'屬性都可以在android上使用。除了一個例外,Javascript無法啓動視頻:只要在另一個事件期間(即觸摸事件),Javascript就可以啓動視頻。 – Randy

+1

@Randy,你有這方面的任何文件嗎?即什麼類型的事件是被允許的?顯然window.onload或video.loadedmetadata是不可接受的。 – Ddddan

+2

我沒有關於此的任何文檔。這主要是通過試驗和錯誤。根據我的經驗,似乎任何物理觸摸事件都將允許javascript啓動視頻。我正在開發一個帶有WebView的應用程序,並且能夠將JavaScript發送到WebView。奇怪的是,這似乎被視爲有效的用戶觸摸「事件」,它讓我播放視頻。 – Randy

5

從第53版開始,Android版Chrome支持視頻靜音自動播放。一旦視頻元素進入視圖,播放將自動啓動,如果同時設置了自動播放和靜音,則可以啓動靜音視頻播放玩()。以前,無論靜音狀態如何,手機上的回放都必須由用戶手勢啓動。

<video autoplay muted> 
    <source src="video.webm" type="video/webm" /> 
    <source src="video.mp4" type="video/mp4" /> 
</video> 
相關問題