Ограничение по времени для Android с использованием намерения
Как я могу ограничить запись при использовании намерений?
Я пробовал этот код:
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra("android.intent.extra.durationLimit",5);
startActivityForResult(intent,RQS_RECORDING);
Эта часть кода отлично работает при записи видео. Время отсчитывается от 5 до 0 и после 5 секунд запись автоматически останавливается. Но это ограниченное время не работает, когда я записываю звук. Почему?
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra("android.intent.extra.durationLimit", 5);
startActivityForResult(intent, RQS_RECORDING);
Почему это ограничение времени 5 секунд не работает, когда я записываю звук?
Ответы
Ответ 1
У меня есть аналогичная проблема, и я исправил свою проблему, используя ниже фрагмент кода:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5);
startActivityForResult(this, cameraIntent,CAMERA_PIC_REQUEST);
где CAMERA_PIC_REQUEST - мой тип int как:
private static final int CAMERA_PIC_REQUEST = 1337;
Ответ 2
вы должны попробовать с помощью MediaRecorder mRecorder = new MediaRecorder();
и mRecorder.setMaxDuration(5000)//5 секунд;
Ответ 3
private void recordVideo() {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);
// set video quality
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set Video file
startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
}
fileuri - ваш путь к файлу. Попробуйте это.
Ответ 4
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);