私は、インテントを使用してカメラアプリケーションを起動する必要があるアプリケーションで作業しています。カメラは画像モードまたはビデオモードで起動され、これまでのところ動作し、結果ファイルをsdcardに保存します。今、問題は、新しいカスタムファイル名を指定することは、画像の意図に対して機能しますが、カムコーダーの意図に対しては機能していないようです。実際には、EXTRA_OUTPUTまたは単に「出力」がビデオの意図で無視されるようです。私は、次のコードを使用しています:絵のためにAndroidカスタムビデオキャプチャファイルパスが機能しない
(全てがカスタムファイル名で写真を保存など、不思議に動作します)
// makes new unique filenames like Picture_03161185528.jpg
fileName = makeFileName("Picture")+".jpg";
path = (new StringBuilder()).
append(Environment.getExternalStorageDirectory()).
append("/"+fileName).toString();
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("output", outputFileUri);
mainActivity.startActivityForResult(intent, CAMERA_RESULT);
ビデオの場合(それはビデオを取るが、常にデフォルトの名前を使用しますVIDEO001、VIDEO002などではなく、私が必要とするカスタムファイル名)いずれの場合も
// makes new unique filenames like Video_03161185528.3gp
fileName = makeFileName("Video")+".3gp";
// even tried this hardwired filename...but nothing
fileName = "video.3gp";
path = (new StringBuilder()).
append(Environment.getExternalStorageDirectory()).
append("/"+fileName).toString();
File file = new File(path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
// seems to be ignored, the file always get saved under default filename
intent.putExtra("output", outputFileUri);
// same as previous line...seems to be ignored
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
mainActivity.startActivityForResult(intent, VIDEO_RESULT);
のように、絵の意図は私のカスタムファイル名で画像を保存しますが、ビデオの意図ははっきりそれを無視し、常に使用してファイルを保存しますデフォルトのファイル名私の質問は:
)私はカスタムファイル名を使用してこの作品を作ることができますか? b)あるいは、次に利用可能な既定のファイル名を事前に知る方法がありますか? c)ファイルが作成されたことを知り、名前を変更する方法は他にありますか?
よろしくお願いします。
アラム
この問題の解決方法はありますか? – Mohit