我正在尝试使用Mediaprojection
和Media Recorder
记录android手机屏幕。我可以使用麦克风录制屏幕以及音频。
下面是我的代码。
private void initRecorder() {
try {
File backupPath = Environment.getExternalStorageDirectory();
backupPath = new File(backupPath.getPath()+"/VideoRecording");
if (!backupPath.exists()) {
backupPath.mkdirs();
}
mMediaRecorder = new MediaRecorder();
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mMediaRecorder.setOutputFile(backupPath.getPath() + getFormattedDate()+".mp4");
mMediaRecorder.setVideoSize(DISPLAY_WIDTH, DISPLAY_HEIGHT);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncodingBitRate(1500 * 1500);
mMediaRecorder.setVideoFrameRate(30);
int rotation = getWindowManager().getDefaultDisplay().getRotation();
int orientation = ORIENTATIONS.get(rotation + 90);
mMediaRecorder.setOrientationHint(orientation);
mMediaRecorder.prepare();
} catch (IOException e) {
e.printStackTrace();
}
}
我的查询:
如何仅记录来自移动设备的音频结果。如果我记录 通过麦克风周围的噪音也会被记录下来。我要跳过 外界噪音并仅记录来自移动设备的音频。
录制的视频大小根据移动屏幕分辨率而定。如何以16:9等不同的宽高比录制屏幕?