Foros del Web » Programando para Internet » Javascript »

Controlar un vídeo con un botón de un video_controls_bar

Estas en el tema de Controlar un vídeo con un botón de un video_controls_bar en el foro de Javascript en Foros del Web. Controlar un vídeo con un botón de un video_controls_bar Me podéis decir cómo puedo hacer para que el botón " Pause " que he creado ...
  #1 (permalink)  
Antiguo 22/11/2014, 02:59
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 5 meses
Puntos: 1
Controlar un vídeo con un botón de un video_controls_bar

Controlar un vídeo con un botón de un video_controls_bar

Me podéis decir cómo puedo hacer para que el botón "Pause" que he creado actúe sobre el vídeo. Es un video embebido de amara.org. También me gustaría incluir otro botón para que retroceda el vídeo 6 segundos por ejemplo.

¿Sabéis cómo hacer esto?

Os dejo el código que estoy usando y que no me funciona:

Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <style type="text/css">
  6. div#video_controls_bar{ background: #333; padding:10px;}
  7. </style>
  8.  
  9. <script type="text/javascript" src='http://amara.org/embedder-iframe'></script>
  10. <script>
  11.  
  12. function playPause(btn,vid){
  13.     var vid = document.getElementById(vid);
  14.     if(vid.paused){
  15.         vid.play();
  16.         btn.innerHTML = "Pause";
  17.     } else {
  18.         vid.pause();
  19.         btn.innerHTML = "Play";
  20.     }
  21. }
  22. </script>
  23.  
  24. </head>
  25.  
  26. <body>
  27.  
  28.  
  29.     <div id="my_video" class="amara-embed" data-height="234px" data-width="414px" data-url="http://www.youtube.com/watch?v=5CKwCfLUwj4"></div>
  30.  
  31.  
  32.  <div id="video_controls_bar">
  33.     <button id="playpausebtn" onclick="playPause(this,'my_video')">Pause</button>
  34.   </div>
  35.  
  36. </body>
  37. </html>


Un saludo
Javier

Última edición por javier_u; 22/11/2014 a las 06:48
  #2 (permalink)  
Antiguo 22/11/2014, 09:55
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

Por favor no dejéis este tema. Mas de 130 personas han entrado y nadie ha respondido. Seguro que para algunos la solución es fácil. Yo no tengo ni idea de javascript ni de html.
Saludos.
  #3 (permalink)  
Antiguo 22/11/2014, 11:44
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

El elemento está indefinido. Coloca el javascript después del html
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 22/11/2014, 12:16
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

No lo entiendo Isabel. ¿Puedes poner un ejemplo?. Tengo que poner el javascript en una pagina web, en un blog. Eso entiendo que es un documento html. Si lo pongo fuera entonces no sé dónde.
¿Cuál es elemento indefinido? ¿cómo hay que definirlo?

Muchas gracias.
Un saludo.
  #5 (permalink)  
Antiguo 22/11/2014, 14:49
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

quise decir: el elemento no está definido. coloca el javascript después del html. o si lo entiendes mejor antes de la etiqueta </body>
Cita:
<div id="my_video" class="amara-embed" data-height="234px" data-width="414px" data-url="http://www.youtube.com/watch?v=5CKwCfLUwj4"></div>


<div id="video_controls_bar">
<button id="playpausebtn" onclick="playPause(this)">Pause</button>
</div>



<script type="text/javascript" src='http://amara.org/embedder-iframe'></script>
<script>

function playPause(btn){
var vid = document.querySelector('aquí la id o class de la etiqueta <video>');
if(vid.paused){
vid.play();
btn.innerHTML = "Pause";
} else {
vid.pause();
btn.innerHTML = "Play";
}
}
</script>
ahora tendrás que buscar dentro del html generado por el include .js la etiqueta <video> y usar su id o class para referenciarlo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 22/11/2014, 17:06
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

Cita:
Iniciado por IsaBelM Ver Mensaje
quise decir: el elemento no está definido. coloca el javascript después del html. o si lo entiendes mejor antes de la etiqueta </body>

ahora tendrás que buscar dentro del html generado por el include .js la etiqueta <video> y usar su id o class para referenciarlo
Gracias Isabel. Si no lo he entendido mal he dejado el código de la siguiente manera:

Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <style type="text/css">
  6. div#video_controls_bar{ background: #333; padding:10px;}
  7. </style>
  8.  
  9.  
  10. </head>
  11.  
  12. <body>
  13.  
  14.     <div id="my_video" class="amara-embed" data-height="234px" data-width="414px" data-url="http://www.youtube.com/watch?v=5CKwCfLUwj4"></div>
  15.  
  16.  
  17.  <div id="video_controls_bar">
  18.     <button id="playpausebtn" onclick="playPause(this)">Pause</button>
  19.   </div>
  20.  
  21. <script type="text/javascript" src='http://amara.org/embedder-iframe'></script>
  22.  
  23. <script>
  24. function playPause(btn){
  25.      var vid = document.querySelector("my_video");
  26.  
  27.     if(vid.paused){
  28.         vid.play();
  29.         btn.innerHTML = "Pause";
  30.     } else {
  31.         vid.pause();
  32.         btn.innerHTML = "Play";
  33.     }
  34. }
  35. </script>
  36.  
  37. </body>
  38. </html>


Creo que la linea que falla debe ser esta:
var vid = document.querySelector("my_video");

Comentabas que había que buscar dentro del html generado por el include .js la etiqueta <video> y usar su id o class para referenciarlo

Según esta linea que me dejaste:
var vid = document.querySelector('aquí la id o class de la etiqueta <video>');

Pero ¿cómo puedo saber el id o la class de la etiqueta <video>?

He probado a poner "my_video" con comillas dobles, simples, sin comillas. Y sin poner nada. También he probado a poner "amara-embed"...

Si me puedes decir que debo añadir o corregir. O cualquier otra persona del foro que sepa...

Muchas gracias.
Un saludo.
  #7 (permalink)  
Antiguo 23/11/2014, 09:41
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

no he trabajado casi que nada con iframe.

si intentas acceder a uno de sus bloques
Cita:
console.log(window.frames[0].document.querySelector("#widget-div"))
obtienes este error
Cita:
Uncaught SecurityError: Blocked a frame with origin "http://127.0.0.1:8888" from accessing a frame with origin "http://amara.org". Protocols, domains, and ports must match.
de tal modo que me temo que no es posible hacer lo que pretendes
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #8 (permalink)  
Antiguo 23/11/2014, 10:39
 
Fecha de Ingreso: noviembre-2014
Mensajes: 15
Antigüedad: 9 años, 5 meses
Puntos: 1
Respuesta: Controlar un vídeo con un botón de un video_controls_bar

Cita:
Iniciado por IsaBelM Ver Mensaje
no he trabajado casi que nada con iframe.

si intentas acceder a uno de sus bloques

obtienes este error

de tal modo que me temo que no es posible hacer lo que pretendes
Entonces debe ser que no se puede crear un control para controlar un video embebido de amara.org, porque lo tienen bloqueado supongo. ¿Crees que no hay alguna otra forma de hacerlo?

Le he estado dando muchas vueltas y como no sé nada de javascript no conseguía nada. Pero si está bloqueado debe ser imposible.

Muchas gracias Isabel.
Un saludo.

Etiquetas: controlar, funcion, html
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 04:29.