Android setVideoEncodingBitRate() 未在 MediaRecorder 包中定义

发布于 2024-11-05 05:45:12 字数 264 浏览 0 评论 0原文

我正在尝试使用 MediaRecorder.setVideoEncodingBitRate(int) 更改 Android 上视频录制的编码比特率。

我查看了 android 文档,它指出了此方法来设置/更改比特率,但是当我尝试使用此方法时,我得到 setVideoEncodingBitrRate(int) is not Define in package MediaRecorder< /代码>。

为什么会这样呢?

I am trying to the change the encoding bit rate of the video recording on Android using MediaRecorder.setVideoEncodingBitRate(int).

I looked in the android documentation and it states this method to set/change the bit rate but when I try to use this method I am getting setVideoEncodingBitrRate(int) is not defined in package MediaRecorder.

Why it is so?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心凉 2024-11-12 05:45:12

我建议您应该检查您使用的 API 版本

setVideoEncodingBitRate() 是否仅适用于 API v8 或 Android 2.1

如果您使用的版本低于该版本,它将不可用 :D


您也可以像这样使用它这

webCamRecorder = new MediaRecorder();
if (target_holder == null)
    return;
webCamRecorder.setPreviewDisplay(target_holder.getSurface());
webCamRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
webCamRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
webCamRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
webCamRecorder.setAudioEncodingBitRate(196608);
webCamRecorder.setVideoSize(640, 480);
webCamRecorder.setVideoFrameRate(30);
webCamRecorder.setVideoEncodingBitRate(15000000);
webCamRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
webCamRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
webCamRecorder.setOutputFile("your location to save");

I suggest you should check that which API version you are using

setVideoEncodingBitRate() just come on API v8 or Android 2.1

If you use version less than that it would not be available :D


Also you could use it like this

webCamRecorder = new MediaRecorder();
if (target_holder == null)
    return;
webCamRecorder.setPreviewDisplay(target_holder.getSurface());
webCamRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
webCamRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
webCamRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
webCamRecorder.setAudioEncodingBitRate(196608);
webCamRecorder.setVideoSize(640, 480);
webCamRecorder.setVideoFrameRate(30);
webCamRecorder.setVideoEncodingBitRate(15000000);
webCamRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
webCamRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
webCamRecorder.setOutputFile("your location to save");
梅倚清风 2024-11-12 05:45:12

setVideoEncodingBitRate 是一个实例方法,似乎您试图将其作为静态方法调用(MediaRecorder.setVideoEncodingBitRate(int)),而是从 MediaRecorder 对象中调用它。

MediaRecorder mr = new MediaRecorder();
mr.setVideoEncodingBitRate(someint);

另外,您是否导入了 android.media.MediaRecorder ?

setVideoEncodingBitRate is an instance method, seems that you are trying to call it as a static method (MediaRecorder.setVideoEncodingBitRate(int)), instead, call it from the MediaRecorder object.

MediaRecorder mr = new MediaRecorder();
mr.setVideoEncodingBitRate(someint);

Also, did you import android.media.MediaRecorder ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文