是否可以在没有音频源的情况下使用 CamcorderProfile?
我的代码:
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。
有什么想法吗?
My code:
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);
It works.
But I need to record only video.
And if I don't use mediaRecorder.setAudioSource(), mediaRecorder.setProfile() fails with IllegalStateException.
Any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
来自 MediaRecord.setProfile:
来自 Android - CamcorderProfile 文档
我想说,您可以从所需的 CamcorderProfile 中读取相关的视频相关设置,并自行明确设置它们。
From MediaRecord.setProfile:
From Android - CamcorderProfile docs
I'd say you could read the relevant video-related settings from a desired CamcorderProfile and set them explicitly yourself.
的方法 setProfile()
MediaRecorder
我们可以看到,如果:
不会有 setAudio*()
因此,在代码中,您可以在
setProfile()
之前手动设置profile.quality=[any int from 1002 to 1007]
。它会起作用的,我已经尝试过。
我找到了正确的答案:
The method setProfile() of MediaRecorder
we can see,if:
there will not setAudio*()
So in your code you can manually set
profile.quality=[any int from 1002 to 1007]
beforesetProfile()
.It will work, I'v tried.
I'v found the right answer: