<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('<?php echo $data; ?>', 0, "small");
          ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
        }

        function onytplayerStateChange(newState) {
          setytplayerState(newState);
		  	if(newState == 0){
				alert("done");
			}
		  
        }
		
		
		
		function minute(secVar0)
		{
	                         // The initial data, in seconds
minVar = Math.floor(secVar0/60);  // The minutes
secVar = Math.floor(secVar0 % 60);              // The balance of seconds

		if(minVar <= 9) { minVar = "0"+minVar;}
		if(secVar <= 9) { secVar = "0"+secVar;}
		return minVar+":"+secVar;
				}
        function updateytplayerInfo() {
        
          updateHTML("videoduration", minute(getDuration()));
          updateHTML("videotime", minute(getCurrentTime()));
          //updateHTML("startbytes", );
		  	if ((ytplayer.getDuration()-1)<ytplayer.getCurrentTime()) ytplayer.seekTo(0, true);
         
          var sbyte=getStartBytes();
          var tbyte=getBytesTotal();
          var lbyte= getBytesLoaded();
          
          var l=Math.floor(400*lbyte/tbyte);
         
          //jQuery('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='_img/stop.png';
          }
        }

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

        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>


Şeklinde bir kodum var. Sorunum şu video bittiği zaman , yeni youtube video id ile oynatmaya devam etmek istiyorum.

Youtube api ile videonun bitiş event kodları var ama çalıştıramadım.

        function onytplayerStateChange(newState) {
          setytplayerState(newState);
		  	if(newState == 0){
				alert("done");
			}
		  
        }
örneğin bu.

daha önce bu şekilde çalışma yapmış arkadaşlar yardımcı olursa sevinirim.


ilgili google aramaları : https://www.google.com.tr/search?q=y...+api+video+end