YouTube API автоматически начинает проигрывать песни - PullRequest
0 голосов
/ 09 октября 2011

Я использую приведенный ниже код для воспроизведения общих видео на YouTube, но я хочу, чтобы пользователь запускал видео, но как только загруженная страница начнет воспроизведение видео.Я хочу, чтобы пользователь нажал на эту ссылку, после чего она должна начать играть

<script type="text/javascript">

    function updateHTML(elmId, value) {
      document.getElementById(elmId).innerHTML = value;
    }

    function setytplayerState(newState) {
      if(newState==3 || newState==-1)
      {
        $('ld').show();
      }
      else
      {
        $('ld').hide();
      }
    }

    function onYouTubePlayerReady(playerId) {
      ytplayer = document.getElementById("myytplayer");
      setInterval(updateytplayerInfo, 250);
      updateytplayerInfo();
      loadNewVideo('<?=$w ?>');
      ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
    }

    function onytplayerStateChange(newState) {
      setytplayerState(newState);
    }
    function minute(secVar0)
    {
                         // The initial data, in seconds
minVar = Math.floor(secVar0/60);  // The minutes
secVar = Math.floor(secVar0 % 60);              // The balance of seconds
return minVar+":"+secVar;
    }
    function updateytplayerInfo() {

      updateHTML("videoduration", minute(getDuration()));
      updateHTML("videotime", minute(getCurrentTime()));
      //updateHTML("startbytes", );

      var sbyte=getStartBytes();
      var tbyte=getBytesTotal();
      var lbyte= getBytesLoaded();

      var l=Math.floor(400*lbyte/tbyte);

      //$('loaded').style.width=l+"px";


      var c=getCurrentTime();
      var t=getDuration();

      slider.setValue(c/t);
    }

    // functions for the api calls
    function loadNewVideo(id, startSeconds) {
      if (ytplayer) {
        ytplayer.loadVideoById(id, parseInt(startSeconds));
      }
    }

    function cueNewVideo(id, startSeconds) {
      if (ytplayer) {
        ytplayer.cueVideoById(id, startSeconds);
      }
    }

    function play() {
      if (ytplayer) {
        ytplayer.playVideo();
        $('playpause').onclick=function(){pause()};
        $('playpauseimg').src='pause.jpg';
      }
    }

    function pause() {
      if (ytplayer) {
        ytplayer.pauseVideo();
        $('playpause').onclick=function(){play()};
        $('playpauseimg').src='play.jpg';
      }
    }

    function stop() {
      if (ytplayer) {
        ytplayer.stopVideo();
      }
    }

    function getPlayerState() {
      if (ytplayer) {
        return ytplayer.getPlayerState();
      }
    }

    function seekTo(seconds) {
      if (ytplayer) {
      var t=getDuration();
      var s;
      s=t*seconds;
        ytplayer.seekTo(s, true);
      }
    }

    function getBytesLoaded() {
      if (ytplayer) {
        return ytplayer.getVideoBytesLoaded();
      }
    }

    function getBytesTotal() {
      if (ytplayer) {
        return ytplayer.getVideoBytesTotal();
      }
    }

    function getCurrentTime() {
      if (ytplayer) {
        return ytplayer.getCurrentTime();
      }
    }

    function getDuration() {
      if (ytplayer) {
        return ytplayer.getDuration();
      }
    }

    function getStartBytes() {
      if (ytplayer) {
        return ytplayer.getVideoStartBytes();
      }
    }

    function mute() {
      if (ytplayer) {
        ytplayer.mute();
      }
    }

    function unMute() {
      if (ytplayer) {
        ytplayer.unMute();
      }
    }

    function getEmbedCode() {
      alert(ytplayer.getVideoEmbedCode());
    }

    function getVideoUrl() {
      alert(ytplayer.getVideoUrl());
    }

    function setVolume(newVolume) {
      if (ytplayer) {
        ytplayer.setVolume(newVolume);
      }
    }

    function getVolume() {
      if (ytplayer) {
        return ytplayer.getVolume();
      }
    }

    function clearVideo() {
      if (ytplayer) {
        ytplayer.clearVideo();
      }
    }


</script>

<div id="ply">
<div id="ytapiplayer">

</div>
<script type="text/javascript">

  var params = { allowScriptAccess: "always", bgcolor: "#cccccc" };

  var atts = { id: "myytplayer" };
  swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer", 
                     "ytapiplayer", "1", "1", "8", null, null, params, atts);

</script>
</div>

<div>
<table class="controls">
<tr>
<td>
     <a href="javascript:void(0);" onclick="pause()" id="playpause"><img src="pause.jpg" id="playpauseimg" /></a>
</td>
<td>

Ответы [ 2 ]

0 голосов
/ 18 января 2013

Добавление параметра автозапуска в качестве 0 в конце URL-адреса swfobject должно решить проблему

swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=ytplayer&autoplay=0", "ytapiplayer", "1", "1", "8", null, null, params, atts);
0 голосов
/ 09 октября 2011

Pass autoplay: 0 в качестве одного из параметров.

var params = { allowScriptAccess: "always", bgcolor: "#cccccc", autoplay: 0 };
var atts = { id: "myytplayer" };
// etc...

http://code.google.com/apis/youtube/player_parameters.html#autoplay

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...