【问题标题】:Can sound be turned off in MediaRecorder of the Android API?Android API的MediaRecorder可以关闭声音吗?
【发布时间】:2015-08-23 00:05:43
【问题描述】:

我想写一个程序来录制视频但声音。

谁能帮助我在使用 MediaRecorder 录制视频时如何不录制声音?

【问题讨论】:

    标签: android mediarecorder


    【解决方案1】:

    这确实是可能的。请参阅 MediaRecorder 中的setAudioEncoder method

    如果不调用此方法,输出文件将不包含音轨。

    因此,如果您只想要视频,请不要调用此方法。

    【讨论】:

    • 否,如果不调用该函数,它将崩溃并出现错误:IllegalState exception
    • @daivuk 我已经超过 3 年没有测试或研究过这个,所以 API 可能在此期间发生了变化。但是,您确定不是在调用setOutputFormat() 之前调用setAudioEncoder(),还是在调用prepare() 之后调用setAudioEncoder()?文档指出,做这些事情中的任何一个都会抛出IllegalStateException
    【解决方案2】:

    您只需准备好您的 mediarecorder 的视频要求,例如:

    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;
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      相关资源
      最近更新 更多