Android アプリケーションからビデオを録画したいと考えています。このような
File f = new File(Environment.getExternalStorageDirectory() + "/"
+ app.getBaseName());
if (!f.exists()) {
f.mkdir();
}
filename = "Video" + lastfile() + ".mp4";
File f1 = new File(Environment.getExternalStorageDirectory() + "/"
+ app.getBaseName(), filename);
Uri uri = Uri.fromFile(f1);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent, 222);
および結果のアクティビティ
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 222) {
Log.v("log_tag", "Return to back 222" + resultCode);
if (resultCode == RESULT_OK) {
Log.v("log_tag", "Return to back");
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
Log.v("log_tag", "Return to back fury");
}
finish();
super.onActivityResult(requestCode, resultCode, data);
}
これを使用すると、カメラが起動し、中央のボタンをクリックして録画を開始し、左側のボタンをクリックして停止して保存し、アプリケーションがクラッシュしました。
私は0を与えたonActivityResultにresultCodeの値を出力し、ビデオは指定されたパスに指定された名前で適切に保存されました。私を助けてください。