Android: запись видео в течение 30 секунд, а после 30 секунд запись только аудио - PullRequest
0 голосов
/ 17 октября 2018

У меня есть требование в приложении, где мне нужно записывать видео в течение 30 секунд, а затем записывать только звук без остановки записи.Как я могу этого достичь?Я использую библиотеку Camerview для записи видео.Должен ли я изменить мою реализацию на вид поверхности?

У меня есть реализация с использованием библиотеки CameraView, как показано ниже.Текущая работа по захвату видео, но не соответствует моему требованию.

<com.otaliastudios.cameraview.CameraView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/camera" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:keepScreenOn="true" app:cameraAudio="on" app:cameraCropOutput="false" app:cameraFacing="back" app:cameraFlash="off" app:cameraGestureLongTap="none" app:cameraGesturePinch="zoom" app:cameraGestureScrollHorizontal="exposureCorrection" app:cameraGestureScrollVertical="none" app:cameraGestureTap="focus" app:cameraGrid="off" app:cameraJpegQuality="100" app:cameraPlaySounds="true" app:cameraSessionType="video" app:cameraVideoQuality="max480p" />

 private void captureVideo() {
    if (camera.getSessionType() != SessionType.VIDEO) {
        return;
    }
    videoPath = getContext().getExternalCacheDir() + File.separator + System.currentTimeMillis() + ".mp4";
    camera.setVideoCodec(VideoCodec.DEVICE_DEFAULT);
    camera.setVideoQuality(VideoQuality.MAX_480P);
    camera.startCapturingVideo(new File(videoPath));
}

1 Ответ

0 голосов
/ 17 октября 2018

Для записи видео продолжительностью до 30 секунд.

Попробуйте этот код ниже

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file
startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...