Можно ли отключить звук в MediaRecorder Android API? - PullRequest
1 голос
/ 17 января 2011

Я хотел бы написать программу, которая записывает видео, но не звук.

Кто-нибудь может мне помочь, как не записывать звук во время записи видео с помощью MediaRecorder?

Ответы [ 2 ]

0 голосов
/ 22 августа 2015

Вы должны просто подготовить требования к видео для вашего медиа-рекордера, например:

private boolean prepareMediaRecorder(){
    myCamera = getCameraInstance();
    mediaRecorder = new MediaRecorder();        


 // store the quality profile required
    CamcorderProfile profile = CamcorderProfile.get(mCameraId, CamcorderProfile.QUALITY_HIGH);

    myCamera.unlock();
    mediaRecorder.setCamera(myCamera);

    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    mediaRecorder.setOutputFormat(profile.fileFormat);
    mediaRecorder.setVideoEncoder(profile.videoCodec);
    mediaRecorder.setVideoEncodingBitRate(profile.videoBitRate);
    mediaRecorder.setVideoFrameRate(profile.videoFrameRate);
    mediaRecorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight);
    mediaRecorder.setOutputFile("/sdcard/myvideo.mp4");
    mediaRecorder.setMaxDuration(60000 * 20); // Set max duration 60 *20 sec.
    mediaRecorder.setMaxFileSize(5000000 * 4); // Set max file size 5M * 4

    mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());

    try {
        mediaRecorder.prepare();
    } catch (IllegalStateException e) {
        releaseMediaRecorder();
        return false;
    } catch (IOException e) {
        releaseMediaRecorder();
        return false;
    }
    return true;

}
0 голосов
/ 20 января 2011

Это действительно возможно.См. Метод setAudioEncoder в MediaRecorder:

Если этот метод не вызывается, выходной файл не будет содержать звуковую дорожку.

Так что есливам нужно только видео, просто не вызывайте этот метод.

...