MediaProjectionManager を使用して、生の rgba バッファー (エンコードなし) として画面をキャプチャするにはどうすればよいですか?
画面をキャプチャして MediaCodec を使用してエンコードする方法の多くの例を見てきましたが、代わりに独自のエンコーダーを使用したいと考えています。
MediaProjectionManager を使用して、生の rgba バッファー (エンコードなし) として画面をキャプチャするにはどうすればよいですか?
画面をキャプチャして MediaCodec を使用してエンコードする方法の多くの例を見てきましたが、代わりに独自のエンコーダーを使用したいと考えています。
faddenが提案したように、ImageReaderを使用することになりました
MediaCodec は、 http: //developer.android.com/reference/android/media/MediaFormat.html#MIMETYPE_VIDEO_RAW を見ると、RAW MIME タイプ、MIMETYPE_VIDEO_RAW をサポートしています。
ただし、MediaCodec を置き換えることができるカスタム コーデックを使用したい場合でも、すべて mInputSurface に接続する必要があります。
mMediaProjection.createVirtualDisplay("Recording Display",
screenWidth, screenHeight, screenDensity, 0 /* flags */,
mInputSurface, null /* callback */, null /* handler */);
Surface API には lockCanvas があることに気付くかもしれません。これはおそらく、Canvas を介してコーデックに書き込むための API です。
表面: https://developer.android.com/reference/android/view/Surface.html
キャンバス: https://developer.android.com/reference/android/graphics/Canvas.html
あなたの結果を見てみたいと思います。