2017-10-13 9 views
0

私はKonvaステージで画像を追加するのと同じように、ビデオオブジェクトを追加したいと思います。問題は、ビデオ(mp4/movファイル)を追加したときにそのビデオが再生されないことです。ブラウザウィンドウのサイズを変更すると、ビデオフレームが動いているのがわかります。しかし、ブラウザウィンドウのサイズが変更されていないときは、ビデオは再生されません。私はReact Konvaを使用しています。Konvaステージでビデオ(.mp4、.mov)を追加するにはどうすればよいですか?

答えて

1

Konvaはビデオで動作するようには設計されていません。しかし、あなたは画像要素としてビデオを表示して、頻繁に層を更新することができます。

class MyVideo extends React.Component { 
    constructor(...args) { 
     super(...args); 
     const video = document.createElement('video'); 
     video.src = 'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4'; 
     this.state = { 
     video: video 
     }; 
     video.addEventListener('canplay',() => { 
     video.play(); 
     this.image.getLayer().batchDraw(); 
     this.requestUpdate(); 
     }); 
    } 
    requestUpdate =() => { 
     this.image.getLayer().batchDraw(); 
     requestAnimationFrame(this.requestUpdate); 
    } 
    render() { 
     return (
      <Image 
       ref={node => { this.image = node; }} 
       x={10} y={10} width={200} height={200} 
       image={this.state.video} 
      /> 
     ); 
    } 
} 

デモ:http://jsbin.com/haxufutaxe/1/edit?js,output

+0

こんにちはLavrton、ありがとうございます。出来た。しかし、GIF/APNGを追加したい場合、どうすれば追加できますか?私は同じ方法を追加しますか?ビデオはここに追加されますか、私は通常のイメージを追加するように追加しますか?ここにビデオを追加したようにAPNG/GIFを追加すると、アニメーションが機能しません。最初の静的フレームが表示されます。 APNG/GIFのアニメーションが追加されると、画像だけが表示されますか? – Khalid

関連する問題