Как захватить видео, используя намерение в Galaxy Tab? - PullRequest
5 голосов
/ 22 марта 2011

У меня есть намерение, которое вызывает действие захвата видео:

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
            intent.putExtra(MediaStore.EXTRA_OUTPUT,  Uri.fromFile(videoFile));
            intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
            startActivityForResult(intent,CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);

На моем SE X8 он работает нормально, но на Galaxy Tab активность захвата видео никогда не прекращается.После того, как я остановил запись, нет кнопки, чтобы выйти из захвата видео.Есть ли дополнительные параметры, которые мне нужно установить?

Ответы [ 3 ]

2 голосов
/ 27 сентября 2011

Просто удалите эту строку:

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(videoFile));

После этого на Galaxy Tab все заработало как положено.

1 голос
/ 29 января 2013

Удаление

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(videoFile));

работает, но тогда вам придется захватить URI с помощью

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if ((requestCode == VIDEO_REQUEST_CODE) && (resultCode == RESULT_OK)) {

        // The URI string is in intent.getData());
    }
}

и переместить видео в другое место, если вам нужна функциональность.

Сумасшедшая вещь в том, что MediaStore.EXTRA_OUTPUT отлично работает с ACTION_IMAGE_CAPTURE.

0 голосов
/ 02 февраля 2012

Вы можете подготовить свой собственный SurfaceHolder класс для этого. Просто попробуйте эту ссылку Это прекрасно работает.

...