Somos muchos los que usamos YouTube para escuchar música. También son muchas las páginas que lo utilizan para "simular" que son buscadores de MP3s; incluso hay software que hace lo mismo.
Esto no es casualidad, se debe, por una parte, a que los MP3s son archivos malditos, parias que deben rodar de servidor en servidor hasta encontrar alguno que los acoja aunque sea temporalmente y por otro lado, la fabulosa cantidad de videos alojados en YouTube lo ha transformado (tal vez sin querer) en una biblioteca digna de tener en cuenta. Claro que ellos hacen limpieza cada tanto y borrarn videos o cierran cuentas pero es un método ridículo que se parece a tratar de combatir las hormigas pateando el hormiguero; sólo consiguen que los archivos sean vueltos a subir por decenas de otros usuarios y esa única copia se transforme en cientos.
Sea como sea, ¿por qué no usarlo para reproducir audio en nuestros sitios? Nada lo impide.
Hay muchas páginas que hablan de mostrar el reproductor standard como un reproductor de audio, eso es bastante sencillo, basta darle la menor altura posible:
Esto no es casualidad, se debe, por una parte, a que los MP3s son archivos malditos, parias que deben rodar de servidor en servidor hasta encontrar alguno que los acoja aunque sea temporalmente y por otro lado, la fabulosa cantidad de videos alojados en YouTube lo ha transformado (tal vez sin querer) en una biblioteca digna de tener en cuenta. Claro que ellos hacen limpieza cada tanto y borrarn videos o cierran cuentas pero es un método ridículo que se parece a tratar de combatir las hormigas pateando el hormiguero; sólo consiguen que los archivos sean vueltos a subir por decenas de otros usuarios y esa única copia se transforme en cientos.
Sea como sea, ¿por qué no usarlo para reproducir audio en nuestros sitios? Nada lo impide.
Hay muchas páginas que hablan de mostrar el reproductor standard como un reproductor de audio, eso es bastante sencillo, basta darle la menor altura posible:
Pero es una solución bastante limitada; mejor intentar algo diferente que permita reproducir listas de audios sin restricciones y usando alguna clase de reproductor personal que pueda ser diseñado a gusto de cada uno.
Para hacer esto, utilizaremos las funciones públicas que provee el API de YouTube. Ver YouTube y JavaScript 1 y 2
Hay dos modos de aplicarlo, utilizar nuestro mismo blog o bien crear un blog auxiliar, minimizar la plantilla y luego, cargarlo con la etique IFRAME; en este caso, esta es la plantilla del demo.
Lo primero es agregar la librería SWFobject que es la que nos permitirá contolar el reroductor así que lo ponemos antes de </head>:
Hay dos modos de aplicarlo, utilizar nuestro mismo blog o bien crear un blog auxiliar, minimizar la plantilla y luego, cargarlo con la etique IFRAME; en este caso, esta es la plantilla del demo.
Lo primero es agregar la librería SWFobject que es la que nos permitirá contolar el reroductor así que lo ponemos antes de </head>:
<script src='http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js' type='text/javascript'/>
Y luego, las funciones que pueden descargarse desde este archivo de texto:
<script type='text/javascript'>
//<![CDATA[
... aquí pegamos el contenido del archivo ...
//]]>
</script>
Manejaremos tres datos que guardaremos en una lista:
YTplaylistID[indice] contendrá el ID del video que siempre tiene 11 caracteres
YTplaylistInterprete[indice] es el nombre del intérprete
YTplaylistTema[indice] es el nombre del tema
y para evitar problemas, tanto en el intérprete como en el tema, lo mejor es utilizar caracteres alfanuméricos simples, sin acentos, comillas, etc.
Hasta ahí no pasará nada, vamos a agregar lo que falta, podemos usar un elemento HTML o directamente en la plantilla:
YTplaylistID[indice] contendrá el ID del video que siempre tiene 11 caracteres
YTplaylistInterprete[indice] es el nombre del intérprete
YTplaylistTema[indice] es el nombre del tema
y para evitar problemas, tanto en el intérprete como en el tema, lo mejor es utilizar caracteres alfanuméricos simples, sin acentos, comillas, etc.
Hasta ahí no pasará nada, vamos a agregar lo que falta, podemos usar un elemento HTML o directamente en la plantilla:
<div id='reprobody'> <div id='CONTENEDOREPRO'> </div> <table cellpadding='0' cellspacing='0' id='reproductor'><tbody> <tr> <td><a href='javascript:atras();' id='batras' onmouseover='anteriorTema();' title=''><img src='imagen_boton_atras'/></a></td> <td><a href='javascript:play();'><img src='imagen_boton_play'/></a></td> <td><a href='javascript:pause();'><img src='imagen_boton_pause'/></a></td> <td><a href='javascript:stop();'><img src='imagen_boton_stop'/></a></td> <td><a href='javascript:adelante();' id='badelante' onmouseover='siguienteTema();' title=''><img src='imagen_boton_adelante'/></a></td> </tr> </tbody></table> <div id='tema'> </div> </div>
<div id='reprobody'> <div id='CONTENEDOREPRO'> </div> <table cellpadding='0' cellspacing='0' id='reproductor'><tbody> <tr> <td><a href='javascript:atras();' id='batras' onmouseover='anteriorTema();' title=''><img src='imagen_boton_atras'/></a></td> <td><a href='javascript:play();'><img src='imagen_boton_play'/></a></td> <td><a href='javascript:pause();'><img src='imagen_boton_pause'/></a></td> <td><a href='javascript:stop();'><img src='imagen_boton_stop'/></a></td> <td><a href='javascript:adelante();' id='badelante' onmouseover='siguienteTema();' title=''><img src='imagen_boton_adelante'/></a></td> </tr> </tbody></table> <div id='tema'> </div> </div>
Colocaremos todo dentro de un DIV llamado reprobody. Adentro de este hay otro DIV vacio llamado CONTENEDOREPRO que es donde la librería SWFobject creará el objeto de Flash; a continuación, nuestros botones que sólo son enlaces con una imagen y que en este caso, los armé en una tabla pero puede tener cualquier otro esquema gráfico y por último, otro DIV llamado tema donde se mostrará el nombre del intérprete y el tema.
Lo que faltaría es ejecutar todo y eso lo hacemos agregando esto al final de la plantilla, antes de </body>:
<script type='text/javascript'> //<![CDATA[ // ejecutamos la función para interpretar la lista crearplaylistvideos(); // creamos el objeto de Flash para reprodicr los videos YTonplaying = 0; var params = {allowScriptAccess: "always"}; var video = "http://www.youtube.com/v/" + YTplaylistID[0] + "&enablejsapi=1&playerapiid=YTplayer"; var atts = {id: "reproOBJECT"}; swfobject.embedSWF(video, "CONTENEDOREPRO", "50", "20", "8", null, null, params, atts); // ejecutamos la función para mostrar los textos mostrarTema(); //]]> </script>
Obviamente, necesitamos algo de CSS; lo elemental sería algo así::
<style> #reprobody { /* este es el rectángiulo que contendrá todo */ background-color: #000; border: 2px solid #AAA; margin: 0 auto; padding: 8px 0; width: 175px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; -moz-box-shadow: 0 0 8px #FFF inset; -webkit-box-shadow: 0 0 8px #FFF inset; box-shadow: 0 0 8px #FFF inset; background-image: -moz-linear-gradient(100% 100% 90deg, #000, #444); background-image: -webkit-gradient(linear, left bottom, left top, from(#000), to(#444)); filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#FF000000', EndColorStr='#FF444444'); } #reproductor { /* la tabla */ height: 24px; margin: 0 auto; width: 100px; } #reproductor td { /* las celdas de la tabla */ text-align: center; vertical-align: middle; } #reproductor td img { /* los botones */ opacity: .8; filter: alpha(opacity=80); } #reproductor td img:hover { /* efecto hover sobre los botones */ opacity: 1; filter: alpha(opacity=100); } #tema { /* los textos */ color: #CCC; font-family: Tahoma; font-size: 10px; text-align: center; } #reproOBJECT { /* ocultamos el video en si mismo */ left: -1000px position: absolute; } #milistadereproduccion { /* ocultamos la lista de reproducción */ display: none; } </style>
¿Como funciona?
Debemos crear la lista; del mismo modo que el resto, la podemos poner en la plantilla, en un elelento HTML nuevo o en el mismo donde esta el reproductor; sólo debemos seguir unas pocas reglas de sintaxis; un ejemplo:
Debemos crear la lista; del mismo modo que el resto, la podemos poner en la plantilla, en un elelento HTML nuevo o en el mismo donde esta el reproductor; sólo debemos seguir unas pocas reglas de sintaxis; un ejemplo:
<div id='milistadereproduccion'> oo9BtKdkdoY,Aretha Franklin,Shoop shoop song, ....... ....... seguimos agregando videos separándolos con comas ....... ID_video,nombre intérprete,nombre tema, ....... ....... y verificar que último no lleve coma ....... -twOjwBORwg,Eric Clapton,Crossroads </div>
Esa es la lista que leerá e interpretará la función crearplaylistvideos(), creando los arrays necesarios. Obviamente, ese método puede ser cambiado por cualquier otro.
Al iniciarse, el primer video de la lista todo estará listo para ser reproducido mediante el botón Play. De allí en más, al terminar uno comenzará el siguiente y si la lista se acaba, recomenzará otra vez. Con los botones de avance y retrocesos podemos movernos dentro de la lista y seleccionar otros temas. Todo esto, sabiendo que cada cambio implica la carga del video y que esto puede demorar más o menos de acuerdo a nuestra conexión y al estado del servicio. El ejemplo no tienen ninguna otra caracterísitica especial para tratar con errores o problemas, si los encuentra, simplemente sigue adelante y salta al siguiente tema.
Aunque no lo veamos, el video está alli, "en alguna parte" y al usar SWFobject, el proceso es rápido y la memoria es liberada cada vez que cambiamos así que la página no se "sobrecarga".
Si usáramos un blog auxiliar, bastaría colocar un IFRAME alli quisieréramos verlo:
Al iniciarse, el primer video de la lista todo estará listo para ser reproducido mediante el botón Play. De allí en más, al terminar uno comenzará el siguiente y si la lista se acaba, recomenzará otra vez. Con los botones de avance y retrocesos podemos movernos dentro de la lista y seleccionar otros temas. Todo esto, sabiendo que cada cambio implica la carga del video y que esto puede demorar más o menos de acuerdo a nuestra conexión y al estado del servicio. El ejemplo no tienen ninguna otra caracterísitica especial para tratar con errores o problemas, si los encuentra, simplemente sigue adelante y salta al siguiente tema.
Aunque no lo veamos, el video está alli, "en alguna parte" y al usar SWFobject, el proceso es rápido y la memoria es liberada cada vez que cambiamos así que la página no se "sobrecarga".
Si usáramos un blog auxiliar, bastaría colocar un IFRAME alli quisieréramos verlo:
<iframe scrolling="no" style="width: 179px; height: 70px;" frameborder="0" marginheight="0" src="URL_blog_auxiliar" marginwidth="0" align="middle"></iframe>
Fuentes - Fonts
SOUV2- SOUV2P.TTF - 57 KB
- SOUV2I.TTF - 59 KB
- SOUV2B.TTF - 56 KB
- SOUV2T.TTF - 56 KB
- bai_____.ttf - 46 KB
- babi____.ttf - 47 KB
- bab_____.ttf - 45 KB
- balaram_.ttf - 45 KB
- SCAGRG__.TTF - 73 KB
- SCAGI__.TTF - 71 KB
- SCAGB__.TTF - 68 KB
- inbenr11.ttf - 64 KB
- inbeno11.ttf - 12 KB
- inbeni11.ttf - 12 KB
- inbenb11.ttf - 66 KB
- indevr20.ttf - 53 KB
- Greek font: BibliaLS Normal
- Greek font: BibliaLS Bold
- Greek font: BibliaLS Bold Italic
- Greek font: BibliaLS Italic
- Hebrew font: Ezra SIL
- Hebrew font: Ezra SIL SR
Disculpen las Molestias
INFORMÁTICA - UTILIDADES
- 2011
- enero 2011 (25 posts)
- Oloblogger
- Vagabundia
- CSS3 GENERATOR - OLOBLOGGER
- HAGA SU PROPIA MUSICA
- Vagabundia
- 100 packs de íconos surtidos - Vagabundia
- tablas en css
- Curvas y redondeces - Vagabundia
- Vagabundia
- Oloblogger
- Vagabundia
- 3.9. The background-size’ property - w3.org
- Patterns con CSS3
- Oloblogger
- Usar JSON para mostrar Twitter - Vagabundia
- Sliderman: Un script para hacer sliders sin librer...
- Thought of you - Vagabundia
- Efecto cinta adhesiva en imágenes - Oloblogger
- Bloggers - Vagabundia
- BigImg: Otra forma de insertar imágenes gigantes -...
- Vagabundia: : “Los parámetros de los feeds de Blog...
- Alojar scripts para Blogger Edición rápida - OLOBL...
- Plugins sociales aleatorios para Facebook
- Fire - shadow
- Neon - shadow
- 2010
- diciembre
- efecto de linterna de Zachary Johnson en www.zachs...
- Shadow - Sombreados en los Textos - Vagabundia
- 4. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 2. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- 3. DICCIONARIO BÍBLICO ADVENTISTA DEL SÉPTIMO DÍA
- octubre
- septiembre
- julio
- junio
- mayo
- HTML ASCII Reference - The ASCII Character Set
- Typing Arabic and Farsi Numerals
- Smoothing Screen Fonts
- Outlook 2000
- Outlook Express 5
- Netscape Messenger 4.7
- Netscape
- Internet Explorer
- Windows XP: Language Settings
- Windows 2000: Language Settings
- General Unicode Information
- General Farsi Unicode Information
- Unicode in Internet Explorer 5, 5.5 and 6
- Unicode in Firefox for Windows
- UNICODE - Internet Explorer
- abril
- marzo
- Porque no me abre el disco local c
- Glosario Informático (H-Z)
- Glosario Informático (C-G)
- Glosario Informático (A-B)
- febrero
- Direcciones about: FIREFOX
- ASCII codes table - Format of standard characters
- 24 Character entity references in HTML 4
- Table of character entity references in HTML 4
- HTML Codes
- Index of Elements - Html
- ISO 639. Code for the representation of the names ...
- ASCII stands for American Standard Code
- enero
- 2009
- CUADRO GENERAL CONTENIDO MITOLOGÍA Y RELIGIÓN
- MITOLOGÍA HINDÚ
- Conceptos Hinduistas (1428)SC
- Category:Hindu (mythology) (3256)SC
- Category:Hindu mythology (3270)SC
- Categoría:Mitología hindú (3288)SC (indice)
- Categoría:Mitología hindú (videos) (3289)SC
- Conceptos Hinduista (A - G) SK y SC (videos) (3294)SC
- Conceptos Hinduistas (2919)SK · (2592)SK
- JUDAISMO
- VAISHNAVISMO
- Ärî Garga-Samhita
- Oraciones Selectas al Señor Supremo
- Devotees Vaishnavas
- Dandavat pranams - All glories to Srila Prabhupada
- Hari Katha
- SWAMIS VAISHNAVAS
- DEVOTOS VAISHNAVAS - FACEBOOK
- Santos Católicos
- EGIPTO
- Archivo Cervantes
- Sivananda Yoga
- Neale Donald Walsch
- ENCICLOPEDIA - INDICE
No hay comentarios:
Publicar un comentario