编程语言
首页 > 编程语言> > 如何以编程方式在android中录制静音视频

如何以编程方式在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