问题描述: 在使用App MediaFrameReader时,总是返回空的Bitmap。
解决方法:
示例:
示例:
MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
Intent permissionIntent = mediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(permissionIntent, REQUEST_CODE_SCREEN_CAPTURE);
// 在onActivityResult方法中获取MediaProjection对象
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_SCREEN_CAPTURE && resultCode == RESULT_OK) {
MediaProjection mediaProjection = mediaProjectionManager.getMediaProjection(resultCode, data);
// 使用MediaProjection对象进行后续操作
}
}
示例:
MediaCodec mediaCodec = MediaCodec.createDecoderByType("video/avc");
MediaFormat mediaFormat = MediaFormat.createVideoFormat("video/avc", width, height);
// 设置其他参数,如码率、帧率等
mediaCodec.configure(mediaFormat, surface, null, 0);
mediaCodec.start();
示例:
MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo();
int outputBufferIndex = mediaCodec.dequeueOutputBuffer(bufferInfo, TIMEOUT_US);
if (outputBufferIndex >= 0) {
// 使用bufferInfo和outputBufferIndex获取视频帧
mediaCodec.releaseOutputBuffer(outputBufferIndex, false);
}
希望以上解决方法能帮助到你解决问题。如果问题仍然存在,请提供更多详细信息以便于进一步帮助。