我的代码:
mediaRecorder = new MediaRecorder();
mediaRecorder.setCamera(camera);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
CamcorderProfile profile = CamcorderProfile.get(QUALITY_LOW);
mediaRecorder.setProfile(profile);
它有效。 但我只需要录制视频。
如果我不使用 mediaRecorder.setAudioSource(),mediaRecorder.setProfile() 会失败并出现 IllegalStateException。
有什么想法吗?
最佳答案
public void setProfile(CamcorderProfile profile)
Since: API Level 8 Uses the settings from a CamcorderProfile object for recording. This method should be called after the video AND audio sources are set, and before setOutputFile().
来自 Android - CamcorderProfile docs
Each profile specifies the following set of parameters:
- The file output format
- Video codec format
- Video bit rate in bits per second
- Video frame rate in frames per second
- Video frame width and height,
- Audio codec format Audio bit rate in bits per second
- Audio sample rate
- Number of audio channels for recording.
我想说您可以从所需的 CamcorderProfile 中读取相关的视频相关设置,然后自己明确设置它们。
关于android - 是否可以在没有音频源的情况下使用 CamcorderProfile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5524672/