0

MediaProjectionManager を使用して、生の rgba バッファー (エンコードなし) として画面をキャプチャするにはどうすればよいですか?

画面をキャプチャして MediaCodec を使用してエンコードする方法の多くの例を見てきましたが、代わりに独自のエンコーダーを使用したいと考えています。

4

2 に答える 2

0

faddenが提案したように、ImageReaderを使用することになりました

于 2015-08-18T09:29:57.440 に答える
0

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

あなたの結果を見てみたいと思います。

于 2015-08-07T00:31:02.060 に答える