2013-05-14 123 views
14

是否有意圖在啓動相機時使用可在Android上捕獲圖片和視頻的選項?Android意圖捕獲圖像和視頻?

我用兩個MediaStore.ACTION_VIDEO_CAPTURE和MediaStore.ACTION_IMAGE_CAPTURE捕捉音頻或視頻,但我不能找到一個意向,將得到期權對他們倆之間的切換,在這個示例應用程序:

enter image description here

謝謝!

+0

任何運氣?!! ... –

回答

3

我可以通過使用下面的代碼捕獲圖像和視頻。

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

'MediaStore.INTENT_ACTION_VIDEO_CAMERA'也可以使用。 – Nizam

+5

你怎麼能在ONACtivity結果上退出捕獲的圖像或視頻? –

+3

此意圖不會讓您檢索捕獲的內容 –

3

我實現吧:) 您可以通過以下做到這一點 -

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

類似的例子here

編碼愉快:)

+0

什麼是contentSelectionIntent? –

+0

@ParasWatts忘記添加一些行。請立即檢查。 –

0

這是不可能同時捕獲圖像和視頻使用相同的意圖,你的選擇是

1)創建你自己的相機this repo can be a good start但這將是一個太多的努力。

2)使用Chooser Intent並傳遞圖像和視頻的意圖,這將使您可以選擇單獨記錄視頻和攝像機的應用程序。在這個過程中,你不能同時做兩件事,但可以根據你想要做的選擇應用程序,捕捉圖像或錄製視頻。以下是適合我的代碼。

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); 
相關問題