//in onCreate
mMediaProjectionManager =
(MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);
//开始截图,这里系统会弹出权限确认窗口
Intent captureIntent = mMediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(captureIntent, REQUEST_CODE);
//
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == REQUEST_CODE) {
startShotNow(resultCode, data);
}
}
mMediaProjection =
mMediaProjectionManager.getMediaProjection(resultCode, data);
if(mMediaProjection == null) {
Log.e(TAG, "MediaProjection is null");
return;
}
mFile = new File(getRandomFileName());
Log.e(TAG, "startShotNow: " + mDpiSizeBean.getHeight() + " " + mBitRate + " " + mFps);
mShoter = new MyShoter(mDpiSizeBean.getWidth(), mDpiSizeBean.getHeight(), mBitRate, 1,
mFps, mMediaProjection, mFile.getAbsolutePath());
new Thread(mShoter).start();
mBtnShotStart.setText("停止录制");
moveTaskToBack(true);
oxyzgen12321 / myrecordingscreen-master Goto Github PK
View Code? Open in Web Editor NEW简单录屏和录音合成mp4。demo