2012-01-15 52 views

Trả lời

60

Youtube không cung cấp thông qua tắt tiếng tham số url (xem http://code.google.com/apis/youtube/player_parameters.html).

Bạn phải sử dụng javascript cho điều đó. xem http://code.google.com/apis/youtube/js_api_reference.html để biết chi tiết.

Tuy nhiên, xin lưu ý cảnh báo trên trang được liên kết ở trên: "Việc ngừng sử dụng API trình phát JavaScript của YouTube đã được công bố vào ngày 27 tháng 1 năm 2015. Việc nhúng YouTube Flash cũng đã không còn được chấp nhận. Vui lòng di chuyển các ứng dụng của bạn sang API IFrame, có thể sử dụng thông minh bất kỳ trình phát được nhúng nào - HTML() hoặc Flash() - máy khách hỗ trợ. "

Html

<iframe class="youtube-player" id="player" type="text/html" src="http://www.youtube.com/embed/JW5meKfy3fY?wmode=opaque&autohide=1&autoplay=1&enablejsapi=1" frameborder="0">&lt;br /&gt;</iframe> 

xin lưu ý enablejsapi = 1 trong url.

Javascript

var player = iframe.getElementById('player'); 
player.mute(); 

Cập nhật

đang Trước đã có một số vấn đề và đã không làm việc với API hiện tại (playerVars cú pháp đã sai). Đây là mã được cập nhật. Bạn có thể cần phải tinker với các thông số bạn cần.

  
 
    <div id="player"></div> 
 
    <script> 
 
     // 1. 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); 
 

 
     // 2. This function creates an <iframe> (and YouTube player) 
 
     // after the API code downloads. 
 
     var player; 
 
     function onYouTubeIframeAPIReady() { 
 
     player = new YT.Player('player', { 
 
      height: '100%', 
 
      width: '100%', 
 
      playerVars: { 
 
        autoplay: 1, 
 
        loop: 1, 
 
        controls: 0, 
 
        showinfo: 0, 
 
        autohide: 1, 
 
        modestbranding: 1, 
 
        vq: 'hd1080'}, 
 
      videoId: '1pzWROvY7gY', 
 
      events: { 
 
      'onReady': onPlayerReady, 
 
      'onStateChange': onPlayerStateChange 
 
      } 
 
     }); 
 
     } 
 

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

 
     var done = false; 
 
     function onPlayerStateChange(event) { 
 
     
 
     } 
 
     function stopVideo() { 
 
     player.stopVideo(); 
 
     } 
 
    </script>

+3

nó nói "iframe là không xác định"? – TIMEX

+0

Bạn có thể cho tôi biết có vấn đề gì không? http://jsfiddle.net/9RjzU/ Cảm ơn – TIMEX

+2

Tôi đã cập nhật mã fiddle bằng mã đúng. http://jsfiddle.net/9RjzU/3/ –

3

Bạn có thể chọn nghe nhạc video và sau đó thiết lập khối lượng của nó:

var mp = iframe.getElementById('movie_player'); 
mp.setVolume(0); 

Nguồn: http://userscripts.org/scripts/review/49366

+1

Cảm ơn, nhưng nó không hoạt động. http://jsfiddle.net/69uh2/ Tôi đang làm gì sai? – TIMEX

+0

Tắt tiếng tốt hơn, với nó, bạn có thể bật tiếng mà không thay đổi âm lượng ban đầu. –

+1

cố gắng sửa fiddle TIMEX của bạn và phải dừng lại để nghe toàn bộ bài hát haha ​​... – Robbo

4

Các player_api sẽ bị phản đối trên 25 tháng 6 năm 2015. Đối với chơi video youtube có một api mới IFRAME_API

Dường như đoạn mã sau:

<!-- 1. The <iframe> (and video player) will replace this <div> tag. --> 
<div id="player"></div> 

<script> 
    // 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 <iframe> (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(); 
    } 
</script> 
0

Câu trả lời được chấp nhận hoạt động khá tốt. tôi muốn kiểm soát nhiều hơn vì vậy tôi bổ sung thêm một vài chức năng hơn với kịch bản:

function unmuteVideo() { 
    player.unMute(); 
    return false; 
    } 
    function muteVideo() { 
    player.mute(); 
    return false; 
    } 
    function setVolumeVideo(volume) { 
    player.setVolume(volume); 
    return false; 
    } 

Và đây là HTML:

<br> 
<button type="button" onclick="unmuteVideo();">Unmute Video</button> 
<button type="button" onclick="muteVideo();">Mute Video</button> 
<br> 
<br> 
<button type="button" onclick="setVolumeVideo(100);">Volume 100%</button> 
<button type="button" onclick="setVolumeVideo(75);">Volume 75%</button> 
<button type="button" onclick="setVolumeVideo(50);">Volume 50%</button> 
<button type="button" onclick="setVolumeVideo(25);">Volume 25%</button> 

Bây giờ bạn có quyền kiểm soát nhiều hơn các âm thanh ... Kiểm tra URL tham khảo để biết thêm:

YouTube IFrame Player API

0

var video1; 
 

 
function onYouTubeIframeAPIReady(){ 
 
\t player = new YT.Player("video1", { 
 
\t \t videoId: "id-number", 
 
\t \t width: 300, 
 
\t \t height: 200, 
 
\t \t playerVars: { 
 
\t \t \t "autoplay": 1, // and 0 means off 
 
\t \t \t "controls": 1, 
 
\t \t \t "showinfo": 0, 
 
\t \t \t "modestbranding": 0, 
 
\t \t \t "loop": 1, 
 
\t \t \t "fs": 0, 
 
\t \t \t "cc_load_policy": 0, 
 
\t \t \t "iv_load_policy": 3, 
 
\t \t \t }, 
 
\t \t events: { 
 
\t \t  'onReady': onPlayerReady 
 
\t \t } 
 
\t }); 
 
    } 
 

 
function onPlayerReady(event) { 
 
    event.target.mute(); 
 
    event.target.setVolume(0); //this can be set from 0 to 100 
 
}

Hãy nhớ rằng âm thanh sẽ không được tắt trong IE và Safari.

4

Hãy thử điều này nó làm việc tốt

<html><body style='margin:0px;padding:0px;'> 
 
     <script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'> 
 
       var player; 
 
     function onYouTubeIframeAPIReady() 
 
     {player=new YT.Player('playerId',{events:{onReady:onPlayerReady}})} 
 
     function onPlayerReady(event){player.mute();player.setVolume(0);player.playVideo();} 
 
     </script> 
 
     <iframe id='playerId' type='text/html' width='1280' height='720' 
 
     src='https://www.youtube.com/embed/R52bof3tvZs?enablejsapi=1&rel=0&playsinline=1&autoplay=1&showinfo=0&autohide=1&controls=0&modestbranding=1' frameborder='0'> 
 
     </body></html>

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