程序包MediaRecorder中未定义Android setVideoEncodingBitRate()

程序包MediaRecorder中未定义Android setVideoEncodingBitRate(),android,media,video-recording,mediarecorder,Android,Media,Video Recording,Mediarecorder,我正在尝试使用MediaRecorder.setVideoEncodingBitRate(int)更改Android上视频录制的编码比特率 我查阅了android文档,其中说明了此方法用于设置/更改比特率,但当我尝试使用此方法时,我得到的setVideoEncodingBitrRate(int)未在packageMediaRecorder中定义 为什么会这样 setVideoEncodingBitRate是一个实例方法,似乎您试图将其作为静态方法调用(MediaRecorder.setVideo

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

我查阅了android文档,其中说明了此方法用于设置/更改比特率,但当我尝试使用此方法时,我得到的
setVideoEncodingBitrRate(int)
未在package
MediaRecorder
中定义


为什么会这样

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

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

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

我建议您检查您使用的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");

我正在创建它的实例,并仅使用对象设置参数。我还导入了
android.media.MediaRecorder
,然后您应该尝试按照制作MediaRecorder的步骤作为我的示例:]