Android-рекордер с внутренним звуком - PullRequest
1 голос
/ 25 июня 2019

Я пытаюсь записать экран мобильного Android, используя Mediaprojection и Media Recorder.Я могу записать экран вместе со звуком с помощью микрофона.Ниже мой код.

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?

...