3

我想在android中使用MediaRecorder創建錄像機,其中用戶可以選擇錄製靜音視頻,即錄製無音頻視頻。我檢查,如果有任何選項很多搜索我沒能做到這一點任何完美的方式後,以記錄的Android &靜音的視頻,我想下面AudioManager的方法,以及:如何在Android中以編程方式錄製靜音視頻

audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true); 

audioManager.setMicrophoneMute(true); 

audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE) 

但他們沒有正在爲我工​​作。

任何人都可以幫助我解決這個問題。

謝謝!

回答

5

下面是我如何處理它。

boolean settingsSound = sharedPrefSettings.getBoolean("settingsSound", true); 

    if (!settingsSound) { 
     mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     mediarecorder.setVideoFrameRate(profile.videoFrameRate); 
     mediarecorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight); 
     mediarecorder.setVideoEncodingBitRate(profile.videoBitRate); 
     mediarecorder.setVideoEncoder(profile.videoCodec); 
    } else{ 
     mediarecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 
     mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
     mediarecorder.setVideoFrameRate(profile.videoFrameRate); 
     mediarecorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight); 
     mediarecorder.setVideoEncodingBitRate(profile.videoBitRate); 
     mediarecorder.setAudioEncodingBitRate(profile.audioBitRate); 
     mediarecorder.setAudioChannels(profile.audioChannels); 
     mediarecorder.setAudioSamplingRate(profile.audioSampleRate); 
     mediarecorder.setVideoEncoder(profile.videoCodec); 
     mediarecorder.setAudioEncoder(profile.audioCodec); 
    } 

只是不設置audiosource。我得到的個人資料這樣

profile = CamcorderProfile.get(CamcorderProfile.QUALITY_1080P); 

,因爲沒有可能設置不CamcorderProfile的聲音,您需要通過某種方法來設置每個值之一。

希望這會有所幫助:)

+0

它不適合我。 – user3168958

相關問題