带有内部音频的Android屏幕录像机

时间:2019-06-25 04:59:16

标签: android android-mediarecorder android-screen screen-recording android-mediaprojection

我正在尝试使用MediaprojectionMedia 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();
    }
}

我的查询:

  1. 如何仅记录来自移动设备的音频结果。如果我记录 通过麦克风周围的噪音也会被记录下来。我要跳过 外界噪音并仅记录来自移动设备的音频。

  2. 录制的视频大小根据移动屏幕分辨率而定。如何以16:9等不同的宽高比录制屏幕?

0 个答案:

没有答案