2013-05-14 51 views
14

Có ý định bắt đầu một máy ảnh có tùy chọn chụp cả Hình ảnh và Video trên Android không?Ý định Android để chụp cả hình ảnh và video?

Tôi đã sử dụng cả MediaStore.ACTION_VIDEO_CAPTURE và MediaStore.ACTION_IMAGE_CAPTURE để ghi âm hoặc video, nhưng tôi không thể tìm thấy Ý định sẽ có tùy chọn chuyển đổi giữa hai thiết bị, như trong ứng dụng ví dụ này:

enter image description here

Cảm ơn!

+0

bất kỳ may mắn nào? !! ... –

Trả lời

3

Tôi có thể chụp cả hình ảnh và video bằng cách sử dụng mã bên dưới.

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

'MediaStore.INTENT_ACTION_VIDEO_CAMERA' cũng có thể được sử dụng. – Nizam

+5

Làm cách nào bạn có thể gỡ bỏ hình ảnh hoặc video đã chụp trên kết quả ONactivity ?? –

+3

Mục đích này sẽ không cho phép bạn truy xuất nội dung được chụp –

3

tôi đạt được nó :) Bạn có thể làm điều đó bằng cách làm theo -

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); 

ví dụ tương tự here

Chúc mừng mã hóa :)

+0

contentSelectionIntent là gì? –

+0

@ParasWatts Quên thêm một số dòng. Vui lòng kiểm tra tại. –

0

Không thể để nắm bắt tất cả hình ảnh và video sử dụng cùng một mục đích, Tùy chọn của bạn là

1) Tạo máy ảnh của riêng bạn this repo can be a good start Nhưng nó sẽ là một nỗ lực quá nhiều.

2) Sử dụng ý định Chooser và truyền ý định cho cả hình ảnh và video, điều này sẽ cung cấp cho bạn tùy chọn để chọn giữa ứng dụng ghi riêng video và camera. Trong này, bạn không thể làm cả hai điều cùng một lúc nhưng có thể chọn ứng dụng theo những gì bạn muốn làm, chụp một hình ảnh hoặc quay video. Dưới đây là mã hoạt động cho tôi.

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); 
Các vấn đề liên quan