2013-02-26 65 views
40

Đối với sự cố của tôi, tôi có một liên kết <a href="http://www.youtube.com/embed/YT-ID" class="overlay_video"></a>. Tôi muốn phát video bằng cách nhấp vào liên kết trong cửa sổ lớp phủ fancybox. Đây không phải là vấn đề. Vấn đề là các thông số, ví dụ "tự động phát" hoặc "tự động ẩn".Tự động phát Youtube không hoạt động trên thiết bị di động có trình phát HTML5 được nhúng

Các liên kết sau đây không làm việc:

<a href="http://www.youtube.com/embed/YT-ID?autoplay=1" class="overlay_video"></a> 

Các Overlay-Window mở ra, nhưng đoạn video không được chơi tự động.

EDIT: Tôi muốn sử dụng Trình phát HTML5 trên thiết bị di động. Trên trình duyệt trên máy tính để bàn, nó hoạt động với các thông số, nhưng không hoạt động trên thiết bị di động.

+0

Sự cố phải ở một nơi khác, vì cú pháp của bạn chính xác như trong bản trình diễn fancybox: 'Youtube (iframe)' Và không có vấn đề gì với tự động phát. Làm thế nào để bạn gọi fancybox? – orzechow

+0

Để gọi hộp ưa thích, tôi sử dụng đoạn mã chuẩn, ví dụ $ (". Overlay_video"). Fancybox ({ 'chiều rộng': 95%, [..] 'type': 'iframe' }); – theowi

+0

Tôi đã quên một chi tiết nhỏ. Infos mới trong phần mô tả. Lấy làm tiếc. – theowi

Trả lời

45

Khi nó quay ra, không thể tự động phát trên thiết bị iOS (iPhone, iPad, iPod touch) và Android.

Xem https://stackoverflow.com/a/8142187/2054512https://stackoverflow.com/a/3056220/2054512

+0

Cảm ơn bạn :) Tôi sẽ kiểm tra nó sau này trên máy tính bảng Android của tôi. – theowi

+0

Nhân tiện - các thông số khác, như autohide hoặc rel có đầy đủ chức năng. :) – theowi

+0

Vâng, bởi vì Apple muốn tránh lưu lượng truy cập không cần thiết cuối cùng trên thiết bị di động của họ - chỉ ảnh hưởng đến chức năng tự động phát;) – orzechow

1

Có một cách để làm cho youtube autoplay, và danh sách nhạc hoàn chỉnh chơi qua. Nhận trình duyệt Adblock cho Android, sau đó truy cập trang web youtube và định cấu hình cho phiên bản dành cho máy tính để bàn của trang, đóng trình duyệt Adblock, sau đó mở lại và bạn sẽ có phiên bản dành cho máy tính để bàn, nơi tự động phát.

Sử dụng phiên bản dành cho máy tính để bàn cũng sẽ có nghĩa là AdBlock sẽ hoạt động. Phiên bản dành cho thiết bị di động gọi trình phát YouTube độc ​​lập, đó là lý do bạn muốn phiên bản dành cho máy tính để bàn của trang, do đó tính năng tự động phát sẽ hoạt động và do đó việc chặn quảng cáo sẽ hoạt động.

+0

Cảm ơn bạn đã bình luận. Cách này là dành cho bất kỳ - tôi tên - người dùng của khách hàng - nhưng không phải là cách cho bất kỳ khách hàng "chuẩn" nào. – theowi

4

Xem mã bên dưới. Đã kiểm tra và tìm thấy hoạt động trên thiết bị Di động và Máy tính bảng.

 


(video player) will replace this tag. --> 
    

    
     // 2. This code loads the IFrame Player API code asynchronously. 
     var tag = document.createElement('script'); 

     tag.src = "https://www.youtube.com/iframe_api"; 
     var firstScriptTag = document.getElementsByTagName('script')[0]; 
     firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

     // 3. This function creates an (and YouTube player) 
     // after the API code downloads. 
     var player; 
     function onYouTubeIframeAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: 'M7lc1UVf-VE', 
      events: { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
      } 
     }); 
     } 

     // 4. The API will call this function when the video player is ready. 
     function onPlayerReady(event) { 
     event.target.playVideo(); 
     } 

     // 5. The API calls this function when the player's state changes. 
     // The function indicates that when playing a video (state=1), 
     // the player should play for six seconds and then stop. 
     var done = false; 
     function onPlayerStateChange(event) { 
     if (event.data == YT.PlayerState.PLAYING && !done) { 
      setTimeout(stopVideo, 6000); 
      done = true; 
     } 
     } 
     function stopVideo() { 
     player.stopVideo(); 
     } 
    
    


+0

Xin chào! Tôi đã thử mã của bạn và nó thực sự hoạt động! Làm tốt! Tuy nhiên, tôi đã tìm thấy một ngoại lệ trong Safari 8 trên iPad mà bắt đầu tải video và không bao giờ kết thúc trừ khi bạn dừng lại và sau đó chơi nó. Có ai có bất cứ đề nghị? (Kích hoạt tạm dừng và chơi bằng setTimeout không hoạt động ...) –

+0

Có vẻ như đã có bản cập nhật cho iOS yêu cầu bạn tắt tiếng video trước khi phát, nếu bạn muốn phát tự động phát. nếu bạn gọi event.target.mute(); ngay trước event.target.playVideo(); bạn nên tốt. – skribbz14

+0

Với giải pháp này, tôi quản lý để tự động phát youtube trên hệ điều hành safari mới nhất Sierra cao nhưng không có nhiều may mắn trên iphone. – ramin