В настоящее время я пытаюсь снизить качество видео и аудио перед загрузкой в онлайн-базу данных в облаке. Ниже приведен код, который я использовал для записи видео.
recordVideoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
Изменение значения 0 на 1 в EXTRA_VIDEO_QUALITY приведет к повышению качества и наоборот, но файл все равно слишком велик для загрузки, если в нем 30 или более секунд видео.
private void RecordVideoMode() {
Intent recordVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (recordVideoIntent.resolveActivity(getPackageManager()) != null) {
videoFile = createVideoFile();
// Continue only if the File was successfully created
if (videoFile != null) {
videoURI = FileProvider.getUriForFile(this,
"com.example.android.fileprovider",
videoFile);
recordVideoIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
recordVideoIntent.putExtra(MediaStore.EXTRA_OUTPUT, videoURI);
startActivityForResult(recordVideoIntent, REQUEST_VIDEO_CAPTURE);
}
}
}
Любая помощь очень ценится!