Necesito incrustar un video de youtube en un lienzo de fabricjs. He intentado hacer esto insertando un elemento iframe en un objeto de imagen de fabricjs. Esto me ha funcionado para insertar un elemento en el lienzo antes. Sin embargo, al insertar un iframe no es posible.
<input type="text" name="enlace-video" id="enlace-video-yt" value="" placeholder="http://"> <button id="input-video-yt"> Insert YT video </button> const ytVideo = document.getElementById('input-video-yt'); ytVideo.addEventListener('click', function (){ var ytvideoURL = document.getElementById("enlace-video-yt").value; var embedURL = ytvideoURL.replace("watch?v=","embed/"); var divVideo = document.createElement('div'); document.body.appendChild(divVideo); var iframe = document.createElement('iframe'); iframe.id="new-video"; iframe.src = embedURL; divVideo.appendChild(iframe); iframe.addEventListener( "loadedmetadata", function (e) { var fab_video = new fabric.Image(iframe, {left: 100, top: 50, data: "video"}); canvas.add(fab_video); }, false ); });Cualquier otra forma que permita insertar un video de YouTube en el lienzo funcionaría para mí.
Para agregar un video de YouTube en Canvas, deberá crear una etiqueta html de video y asignar la fuente al enlace de video de YouTube, y luego agregar ese video en Canvas como se muestra en
Demostración: http://fabricjs.com/video-element