Android setVideoEncodingBitRate() не определен в пакете MediaRecorder

#android #media #video-recording #mediarecorder

#Android #Медиафайлы #запись видео #mediarecorder

Вопрос:

Я пытаюсь изменить битрейт кодирования видеозаписи на Android с помощью MediaRecorder.setVideoEncodingBitRate(int) .

Я посмотрел в документации Android, и там указан этот метод для установки / изменения скорости передачи данных, но когда я пытаюсь использовать этот метод, я получаю, что он setVideoEncodingBitrRate(int) не определен в пакете MediaRecorder .

Почему это так?

Ответ №1:

Я предлагаю вам проверить, какую версию 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");
  

Комментарии:

1. Тогда вам следует попытаться выполнить шаг создания MediaRecorder в качестве моего примера:]

Ответ №2:

setVideoEncodingBitRate это метод экземпляра, кажется, что вы пытаетесь вызвать его как статический метод ( MediaRecorder.setVideoEncodingBitRate(int) ), вместо этого вызывайте его из объекта MediaRecorder.

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

Кроме того, вы импортировали android.media.MediaRecorder ?

Комментарии:

1. Я создаю его экземпляр и устанавливаю параметры только для объекта. Также я импортировал android.media.MediaRecorder