Tengo un video llamado video.mp4 . Quiero transmitirlo en una etiqueta de video en HTML, probé demasiadas respuestas de otras preguntas y ninguna funcionó.
var URL = this.window.URL || this.window.webkitURL;
var file = new Blob(["./video.mp4"], {"type": "video\/mp4"});
var value = URL.createObjectURL(file);
console.log(value);
video.src = value;
Cuando probé el código anterior, imprimió una mancha, pero cuando quiero reproducir el video, no funciona y muestra este error en la consola:
Uncaught (in promise) DOMException: The element has no supported sources.
new Blob no se puede usar para leer directamente un archivo. Es posible que necesite algo como crear una instancia de XMLHttpRequest . Consulte también la documentación del elemento <video> :https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video . Debe especificar los elementos <source> con el atributo de type .
Podrías hacerlo así:
var vid= document.createElement("video");
var vidsrc= document.createElement("source");
vidsrc.setAttribute('src','video.mp4');
vidsrc.setAttribute('type','video/mp4');
vid.appendChild(vidsrc);
document.body.appendChild(vid);
Este código simplemente crea un nuevo elemento de video con un elemento fuente y lo agrega al cuerpo del documento.