web-dev-qa-db-ja.com

Android画像とビデオの両方をキャプチャする意図はありますか?

Androidで写真とビデオの両方をキャプチャするオプションを備えたカメラを起動する意図はありますか?

MediaStore.ACTION_VIDEO_CAPTUREとMediaStore.ACTION_IMAGE_CAPTUREの両方を使用してオーディオまたはビデオのいずれかをキャプチャしましたが、このサンプルアプリのように、両方を切り替えるオプションを取得するインテントが見つかりません。

enter image description here

ありがとう!

24
dornad

同じインテントを使用して画像とビデオの両方をキャプチャすることはできません。オプションは

1)独自のカメラを作成する このレポは良いスタートになる可能性があります しかし、それはあまりにも多くの努力になるでしょう。

2)チューザーインテントを使用して、画像とビデオの両方のインテントを渡します。これにより、ビデオとカメラを別々に記録するアプリケーションを選択するオプションが提供されます。これでは、両方を同時に行うことはできませんが、やりたいことに応じてアプリケーションを選択したり、画像をキャプチャしたり、ビデオを録画したりできます。以下は私のために働くコードです。

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

以下のコードを使用して、画像とビデオの両方をキャプチャできました。

Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
5
Eldo

私はそれを達成しました:)あなたは以下によってそれを行うことができます-

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

同様の例 ここ

ハッピーコーディング:)

4
pallav bohara