Для захвата экрана я перешел по ссылке ниже
https://www.truiton.com/2015/05/capture-record-android-screen-using-mediaprojection-apis/
Я изменил формат вывода на MPEG_2_TS. При запуске записи выдается следующая ошибка:
W/IMediaDeathNotifier: media server died
Ниже показано, как выглядит мой объект mediaRecorder.
private void initRecorder() {
try {
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_2_TS);
mMediaRecorder.setOutputFile(getOutputFileName());
mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mMediaRecorder.setAudioSamplingRate(48000);
mMediaRecorder.setVideoFrameRate(30); // 30
mMediaRecorder.setVideoEncodingBitRate(3000000);
mMediaRecorder.setAudioEncodingBitRate(128000);
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int rotation = window.getDefaultDisplay().getRotation();
int orientation = ORIENTATIONS.get(rotation + 90);
mMediaRecorder.setOrientationHint(orientation);
mMediaRecorder.prepare();
mVirtualDisplay = createVirtualDisplay();
mMediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
}
private VirtualDisplay createVirtualDisplay() {
return mMediaProjection.createVirtualDisplay("MainActivity", DISPLAY_WIDTH, DISPLAY_HEIGHT, mScreenDensity,
DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, mMediaRecorder.getSurface(), null, null);
}
Любая помощь приветствуется !!