Foros del Web » Programando para Internet » PHP »

incrustar video youtube dinamicamente

Estas en el tema de incrustar video youtube dinamicamente en el foro de PHP en Foros del Web. Bueno escribo este post solo para saber si es posible que por ejemplo yo tengo una web de musica y quiero que el video sea ...
  #1 (permalink)  
Antiguo 11/09/2011, 16:46
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
incrustar video youtube dinamicamente

Bueno escribo este post solo para saber si es posible
que por ejemplo
yo tengo una web de musica y quiero que el video sea por ejemplo, el primer resultado del nombre de esa canción. en el buscador youtube
pegarlo en mi web
y de ahi que se pueda reproducir

¿es esto posible?

gracias.

Última edición por memoadian; 11/09/2011 a las 16:52
  #2 (permalink)  
Antiguo 11/09/2011, 17:06
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: incrustar video youtube dinamicamente

Quieres incluir un buscaodr?
  #3 (permalink)  
Antiguo 11/09/2011, 17:08
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 13 años, 2 meses
Puntos: 297
Respuesta: incrustar video youtube dinamicamente

¿Te has pasado por la API de Youtube?

http://code.google.com/intl/es/apis/youtube/overview.html
  #4 (permalink)  
Antiguo 11/09/2011, 17:48
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: incrustar video youtube dinamicamente

en eso ando, pero que tal si no se podia jeje, gracias por el link

y no, no es un buscador. es como lo que hacen en esas páginas de música

no se si le inserten el video manual o automaticamente de acuerdo a la canción.
  #5 (permalink)  
Antiguo 11/09/2011, 18:24
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: incrustar video youtube dinamicamente

solo quiero saber si alguien sabe si es posible, o es necesario hacerlo manual, por que de aqui a que me leo toda el api de youtube me va a caer la noche.

gracias :)
  #6 (permalink)  
Antiguo 11/09/2011, 18:31
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años, 7 meses
Puntos: 15
Respuesta: incrustar video youtube dinamicamente

Cita:
Iniciado por memoadian Ver Mensaje
Bueno escribo este post solo para saber si es posible
que por ejemplo
yo tengo una web de musica y quiero que el video sea por ejemplo, el primer resultado del nombre de esa canción. en el buscador youtube
pegarlo en mi web
y de ahi que se pueda reproducir

¿es esto posible?

gracias.
hola, memoadian si se puede solo tiene que introducir el script del reproductor en tu web entre el body , puede ser algo asi

<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/aAt0l5nxoxo"></param>
<param name="wmode" value="transparent"></param>
<embed src="http://www.youtube.com/v/aAt0l5nxoxo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350">
</embed>
</object>


en donde el value="http://aqui el link de tu video youtube/

espero haberte ayudado

atentamente

ingeniero: jose alexis trujillo

caracas-venezuela
__________________
www.josealexis.net
  #7 (permalink)  
Antiguo 11/09/2011, 19:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 15 años, 4 meses
Puntos: 641
Respuesta: incrustar video youtube dinamicamente

muchas gracias por tu tiempo jatgb

y mal por mi por que soy muy estupido para explicarme.

me refiero a que un script php, detecte o parsee el titulo de la web donde esta.

de eso no hay problema,

con ese resultado busque un video en youtube y el resultado lo coloque dinamicamente en la

página.

por ejemplo mi pagina es: TE amo - Fulanito vazques

que en esta página aparezca el primer resultado de TE amo - Fulanito vazques de youtube pero ya incrustado o embebido

sigo con la api

no quiero el script solo saber si esto es posible.
  #8 (permalink)  
Antiguo 20/09/2011, 13:42
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 21 años, 5 meses
Puntos: 13
Respuesta: incrustar video youtube dinamicamente

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>


    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>YouTube Player API Sample</title>
    <style type="text/css">
      #videoDiv { 
        margin-right: 3px;
      }
      #videoInfo {
        margin-left: 3px;
      }
    </style>
    <script src="http://www.google.com/jsapi" type="text/javascript"></script>
    <script type="text/javascript">
      google.load("swfobject", "2.1");
    </script>    
    <script type="text/javascript">
	
      /*
       * Chromeless player has no controls.
       */
      
      // Update a particular HTML element with a new value
      function updateHTML(elmId, value) {
        document.getElementById(elmId).innerHTML = value;
      }
      
      // This function is called when an error is thrown by the player
      function onPlayerError(errorCode) {
        alert("An error occured of type:" + errorCode);
      }
      
      // This function is called when the player changes state
      function onPlayerStateChange(newState) {
        updateHTML("playerState", newState);
      }
      
      // Display information about the current state of the player
      function updatePlayerInfo() {
        // Also check that at least one function exists since when IE unloads the
        // page, it will destroy the SWF before clearing the interval.
        if(ytplayer && ytplayer.getDuration) {
          updateHTML("videoDuration", ytplayer.getDuration());
          updateHTML("videoCurrentTime", ytplayer.getCurrentTime());
          updateHTML("bytesTotal", ytplayer.getVideoBytesTotal());
          updateHTML("startBytes", ytplayer.getVideoStartBytes());
          updateHTML("bytesLoaded", ytplayer.getVideoBytesLoaded());
          updateHTML("volume", ytplayer.getVolume());
        }
      }
      
      // Allow the user to set the volume from 0-100
      function setVideoVolume1() {
        var volume = 15;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
	      // Allow the user to set the volume from 0-100
      function setVideoVolume2() {
        var volume = 30;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
	      // Allow the user to set the volume from 0-100
      function setVideoVolume3() {
        var volume = 45;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
	      // Allow the user to set the volume from 0-100
      function setVideoVolume4() {
        var volume = 60;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
	      // Allow the user to set the volume from 0-100
      function setVideoVolume5() {
        var volume = 75;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
	      // Allow the user to set the volume from 0-100
      function setVideoVolume6() {
        var volume = 90;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
       // Allow the user to set the volume from 0-100
      function setVideoVolume7() {
        var volume = 100;
        if(isNaN(volume) || volume < 0 || volume > 100) {
          alert("Please enter a valid volume between 0 and 100.");
        }
        else if(ytplayer){
          ytplayer.setVolume(volume);
        }
      }
      function playVideo() {
        if (ytplayer) {
          ytplayer.playVideo();
        }
      }
      
      function pauseVideo() {
        if (ytplayer) {
          ytplayer.pauseVideo();
        }
      }
      
      function muteVideo() {
        if(ytplayer) {
          ytplayer.mute();
        }
      }
      
      function unMuteVideo() {
        if(ytplayer) {
          ytplayer.unMute();
        }
      }
      
      
      // This function is automatically called by the player once it loads
      function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("ytPlayer");
        // This causes the updatePlayerInfo function to be called every 250ms to
        // get fresh data from the player
        setInterval(updatePlayerInfo, 250);
        updatePlayerInfo();
        ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
        ytplayer.addEventListener("onError", "onPlayerError");
        //Load an initial video into the player
        
      }
      
      // The "main method" of this sample. Called when someone clicks "Run".
      function loadPlayer() {
        // Lets Flash from another domain call JavaScript
        var params = { 
		allowScriptAccess: "always",
		allowFullScreen: "true"
		 };
		var videoID = "<? echo $video; ?>"
        // The element id of the Flash embed
        var atts = { id: "ytPlayer" };
		// Detectamos reslolucion del usuario
	var UserWidth = window.screen.width;
	var Width = UserWidth - 20;
	var UserHeight = window.screen.height;
	var Height = UserHeight - 80;
        // All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
        swfobject.embedSWF("http://www.youtube.com/v/" + videoID + 
                     "&enablejsapi=1&playerapiid=player1", 
                           "videoDiv", "" + Width, "" + Height, "8", null, null, params, atts);
      }
      function _run() {
        loadPlayer();
      }
      google.setOnLoadCallback(_run);
    </script>
  </head>
  <body style="font-family: Arial;border: 0 none; overflow-x:hidden; overflow-y:hidden; background-color:#000000">
  <?php
	function extractID($youtubeURL) 
    { 
        //split off the final bit of the URL beginning with ‘=’ 
        $youtubeID = strchr($youtubeURL,'='); 
        //remove that equals sign to get the video ID  
        $youtubeID = substr($youtubeID,1); 
        return $youtubeID; 
    } 
    // set feed URL
    $feedURL = "http://gdata.youtube.com/feeds/api/videos?q=$q";
    
    // read feed into SimpleXML object
    $sxml = simplexml_load_file($feedURL);
    // iterate over entries in feed
    foreach ($sxml->entry as $entry) {
      // get nodes in media: namespace for media information
      $media = $entry->children('http://search.yahoo.com/mrss/');
      
      // get video player URL
      $attrs = $media->group->player->attributes();
      $videoURL = $attrs['url']; 
      $videoID = extractID($videoURL);
	  $watch = "http://www.youtube.com/v/$videoID";
      // get video thumbnail
      $attrs = $media->group->thumbnail[0]->attributes();
      $thumbnail = $attrs['url']; 
            
      // get <yt:duration> node for video length
      $yt = $media->children('http://gdata.youtube.com/schemas/2007');
      $attrs = $yt->duration->attributes();
      $length = $attrs['seconds']; 
      
      // get <yt:stats> node for viewer statistics
      $yt = $entry->children('http://gdata.youtube.com/schemas/2007');
      $attrs = $yt->statistics->attributes();
      $viewCount = $attrs['viewCount']; 
      
      // get <gd:rating> node for video ratings
      $gd = $entry->children('http://schemas.google.com/g/2005'); 
      if ($gd->rating) {
        $attrs = $gd->rating->attributes();
        $rating = $attrs['average']; 
      } else {
        $rating = 0; 
      } 
      ?>
    <div id="videoDiv">Loading...</div></td>
  </body>
</html>
Donde $q es la variable del video que quieres buscar y que se represente en el embed
Aquí hay muchas cosas que no necesitas pero sí cómo extraer el id y el thumbnail del video y meterlo en el embed
Este link si que te puede ayudar.
http://code.google.com/apis/ajax/pla...utube_channels
Cualquier duda pregunta

Etiquetas: dinamicamente, video, youtube
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:34.