私はビデオ録画を可能にするアプリを作成しようとしています。MediaStore.ACTION_IMAGE_CAPTUREを使用すると、実際にアプリからカメラシステムが呼び出され、写真を撮った後、結果がアプリに返されることを知っています。
コードを使用しているときに、MediaStore.ACTION_VIDEO_CAPTURE が見つかりました。これは、カメラになりますが、画像キャプチャモードではなくビデオモードになると思います。
ビデオモードでカメラを呼び出すために使用したコード:
Intent takeVideoFromCameraIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
Uri mUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "/Record/vid_"+ String.valueOf(System.currentTimeMillis()) + ".mp4"));
takeVideoFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mUri);
startActivityForResult(takeVideoFromCameraIntent, RESULT_OK);
実際のデバイスでアプリを実行すると、ビデオ モードでカメラが呼び出され、ビデオ録画も可能になります。ただし、録画ボタンを押して録画を終了すると、カメラが応答していないという強制終了メッセージが表示されてアプリに戻ります。
最初は動画がキャプチャされていないと思っていましたが、ファイルを検索すると実際に存在します。
次に、問題の原因となっているのは onActivityResult メソッドだと思いましたが、 /* ... */ でコメントした後でも、同じ問題が発生します。しかし、LogCat には詳細が表示されません。