2015-09-03 21 views
11

tôi có mã này để chơi một đoạn video trong một trang html5:Mp4 video trong html5 thẻ video không chơi trong chrome di động và safari di động

<video autoplay loop id="bgvid"> 
    <source src="video-background.mp4" poster="/poster.png" type="video/mp4"> 
    </video> 

Vấn đề là nó không hoạt động trong chrome di động (Android Điện thoại) và trong safari di động (iPhone). Nhưng nó hoạt động trong trình duyệt "mọi" (được thử nghiệm với Safari, Chrome, Firefox) trên máy tính để bàn và cũng trên điện thoại di động firefox (Android Phone).

Làm cách nào để khắc phục sự cố này?

Edit: Added mã này:

var myVideo = document.getElementById("bgvid"); 

    function playVid() { 
     myVideo.play(); 
    } 

    function pauseVid() { 
     myVideo.pause(); 
    } 

Nếu tôi thêm một nút kích hoạt chức năng playVid() nó hoạt động. Vì vậy, tôi nghĩ rằng vấn đề là trên autoplay. Tôi đã cố gắng để kích hoạt chức năng với sự kiện tải nhưng nó không hoạt động.

+1

thể trùng lặp của [HTML5 video autoplay trên Trình duyệt di động] (http : //stackoverflow.com/questions/20499341/html5-video-autoplay-on-mobile-browser) –

+0

Bạn đã tìm thấy giải pháp cho vấn đề này chưa? Tôi có cùng một vấn đề áp phích – George

+0

chuyển đến phần tử video, không phải phần tử nguồn .. bạn có thể có nhiều nguồn, nhưng không có nhiều áp phích! – Brunis

Trả lời

5

Rất đơn giản không có hỗ trợ cho autoPlay trên safari di động. Vui lòng kiểm tra tất cả các trình duyệt Android.

tôi sử dụng một thủ thuật (hoặc hiển thị một số popup để sử dụng sự kiện):

var ONLYONETIME_EXECUTE = null; 
window.addEventListener('load', function(){ // on page load 
  
    document.body.addEventListener('touchstart', function(e){ 
     
    if (ONLYONETIME_EXECUTE == null) {   

     video.play(); 

     //if you want to prepare more than one video/audios use this trick :    
      video2.play(); 
      video2.pause(); 
      // now video2 is buffering and you can play it programmability later 
      // My personal testing was maximum 6 video/audio for android 
      // and maybe 3 max for iOS using this trick. 

     ONLYONETIME_EXECUTE = 0; 
     } 

    }, false) 
  
}, false) 


// It is very usually that user touch screen ... 

Đánh giá:

Tôi không hiểu ios html5 chính trị. Họ ngừng hỗ trợ javascript console logger (i quest bây giờ: từ ver ios 5.1). Tự động chơi bị vô hiệu hóa, webrtc ... Họ muốn thiết bị hoạt động hoàn hảo. Tự động phát có thể nguy hiểm khi tải. Trong tương lai gần tôi mong đợi kích hoạt hỗ trợ đầy đủ html5 trên tất cả các thiết bị di động.

cập nhật mới: Tôi tìm thấy câu trả lời này như tích cực:

Kể từ khi phát hành iOS 10 Apple đã cho phép tắt autoplay video: https://webkit.org/blog/6784/new-video-policies-for-ios/

+0

YouTube có thể tự động phát video bằng âm thanh như thế nào? – moeseth

+0

Trên android ot ios/chrome hoặc safari/mob? Đừng bỏ lỡ các ứng dụng cho phép hệ thống cao của Google. Chúng tôi chỉ tìm kiếm các trình duyệt ... –

+1

trên safari iOS, nó có thể tự động phát video có âm thanh. – moeseth

Các vấn đề liên quan