Я обнаружил, что setvideoencodingbitrate (800000) работает для большинства устройств, которые я использую, но на галактике s6 ssung, похоже, записывается в 1,3 Мб, а не 800 килобайтах, как установлено.Камера для Android2 mediarecorder.setvideoencodingbitrate galaxy s6
Я предполагаю, что это происходит потому, что устройство не поддерживает такую скорость передачи в битах (я могу ошибаться)
Есть ли способ получить андроид устройств, поддерживаемых videoencoding битрейтом? или, по крайней мере, увидеть, что настроил медиарекордер после того, как он вызвал подготовку? Кажется, я не могу найти какой-либо вызов mediarecorder.getvideoencodingbitrate?
код ниже.
Благодаря
mediaRecorder.setVideoEncodingBitRate(500000); //500000 works with galaxy s6
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setVideoFrameRate(mCaptureProfile.framesPerSecond);
// Audio Settings
mediaRecorder.setAudioChannels(mCaptureProfile.audioNumChannels);
mediaRecorder.setAudioSamplingRate(mCaptureProfile.audioSampleRate);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setAudioEncodingBitRate(mCaptureProfile.audioBitRate);
mediaRecorder.prepare();
Привет, это именно то, чего я пытаюсь избежать. Поскольку мы хотим, чтобы все видеоролики, записанные по всей доске, были примерно одинакового размера, поэтому устанавливали все битрейты вручную. Спасибо, MediaCodecInfo. –