2017-07-13 7 views
0

ビデオハングアウトにビデオフレームを保存することが求められています。私は、GLSurfaceViewのメソッド "onDrawFrame"を使ってスクリーンショットを撮るデモを作成しました。しかし私がwebrtcを使うとき、それはそれ自身のレンダラー "VideoRendererGUI"を持っています。そして、私がそれを上書きしたいとき、それは上書きすることができません。主要部分のコード:Android用WebRTC:VideoRendererGUIビデオハングアウトでスクリーンショットを撮る

vsv = (GLSurfaceView) findViewById(R.id.glviewchild_call); 
    vsv.setPreserveEGLContextOnPause(true); 
    vsv.setKeepScreenOn(true); 

    VideoRendererGui.setView(vsv, new Runnable() { 
     @Override 
     public void run() { 
      init(); 
     } 
    }); 

また、別の方法でスクリーンショットを撮った場合は、私と共有することもできます。 ありがとう!

答えて

0

Androidでキャンバスやその他の機能が使用できないため、申し訳ありません。WebRTCを使用してプログラムでスクリーンショットをキャプチャすることはできません。この状況を回避するには、アプリのUIをアニメーション化し、スクリーンショットを手動でキャプチャし、設定された場所に保存して相手と交換することができます。

+0

ありがとうGaurav!これを解決するためにffmpegを使用できますか?今はアプリのUI「GLSurfaceView」を使用していますが、機能しません。 – fancyT

+1

私はhavaが別の解決策を見つけた!最初にwebrtcを通して、私はメソッド 'RenderFrame'でI420frameを取得できます。その後、I420フレームをYuvImageに変換します。最後に、YuvImageのメソッド 'compressToJpeg'を使用してjpegイメージに変換します。 – fancyT

関連する問題