我正在尝试使用MediaRecorder在Android中创建视频录像机,用户可以选择录制静音视频,即录制没有音频的视频。我检查了是否有任何选项可以记录android&中的静音视频经过大量的搜索,我没有得到任何完美的方法,我尝试了下面的AudioManager方法:
audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
audioManager.setMicrophoneMute(true);
audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE)
但他们都没有为我工作。
任何人都可以帮助我解决这个问题。
谢谢!!!
答案 0 :(得分: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,你需要逐个设置每个值。
希望这会有所帮助:)