如何以编程方式在android中录制静音视频
作者:互联网
我正在尝试使用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)
但他们都没有为我工作.
任何人都可以帮助我解决这个问题.
谢谢 !!!
解决方法:
这是我处理它的方式.
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,你需要逐个设置每个值.
希望这会有所帮助:)
标签:video-recording,android-mediarecorder,android,mediarecorder 来源: https://codeday.me/bug/20190831/1773376.html