2013-05-14 12 views
14

Czy istnieje zamiar uruchomienia aparatu z opcjami przechwytywania obrazów i wideo na urządzeniu z systemem Android?Android Intent do przechwytywania obrazów i wideo?

Używałem zarówno MediaStore.ACTION_VIDEO_CAPTURE i MediaStore.ACTION_IMAGE_CAPTURE uchwycić zarówno audio lub wideo, ale nie mogę znaleźć Intent że dostanie opcję przełączania między nimi, jak w tym przykładzie aplikacji:

enter image description here

Dzięki!

+0

szczęście! !! ... –

Odpowiedz

3

Mogę przechwycić obraz i wideo za pomocą poniższego kodu.

Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); 
+0

Można również użyć 'MediaStore.INTENT_ACTION_VIDEO_CAMERA'. – Nizam

+5

Jak można wycofać przechwycony obraz lub wideo z wyniku ONACTivity? –

+3

Ta intencja nie pozwoli Ci odzyskać przechwyconej treści pod adresem: –

3

osiągnąłem to :) Można to zrobić wykonując -

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
    Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER); 
Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT); 
      contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE); 
      contentSelectionIntent.setType("*/*"); 
    intentArray = new Intent[]{takePictureIntent,takeVideoIntent}; 
    chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent); 
    chooserIntent.putExtra(Intent.EXTRA_TITLE, "Choose an action"); 
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray); 
    startActivityForResult(chooserIntent, 1); 

Podobny przykład here

Szczęśliwy kodowania :)

+0

Co to jest contentSelectionIntent? –

+0

@ParasWatts Nie pamiętam, aby dodać kilka linii. Proszę sprawdzić teraz. –

0

Nie jest możliwe, aby uchwycić zarówno obraz i wideo z tym samym zamiarem, dostępne są następujące opcje:

1) Stwórz własną kamerę this repo can be a good start Ale to będzie zbyt dużo wysiłku.

2) Użyj funkcji wyboru Chooser i przekaż intencję zarówno dla obrazu, jak i wideo, dzięki czemu możesz wybrać między aplikacją, która oddzielnie rejestruje wideo i kamerę. W tym przypadku nie można wykonywać obu czynności jednocześnie, ale można wybrać aplikację zgodnie z tym, co chcesz zrobić, zrobić zdjęcie lub nagrać wideo. Poniżej znajduje się kod, który działa dla mnie.

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
Intent chooserIntent = Intent.createChooser(takePictureIntent, "Capture Image or Video"); 
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{takeVideoIntent}); 
startActivityForResult(chooserIntent, CAPTURE_MEDIA_RESULT_CODE); 
Powiązane problemy