4

キャプチャしたビデオをカスタムの場所に保存するコードを実装しました。

// Constants
final static int REQUEST_VIDEO_CAPTURED = 1;
String CAPTURE_TITLE="MyVideo.3gp";

// Specified the desired location here 
File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", CAPTURE_TITLE);
Uri outputFileUri = Uri.fromFile( file ); 



Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, REQUEST_VIDEO_CAPTURED);

Now On Activity の結果、ビデオを保存する目的のパスではなく、デフォルトのパスのみが取得されます。

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
       if (resultCode == RESULT_OK)
    {
          Uri capturedImageUri = data.getData();
          Toast.makeText(this, capturedImageUri .getPath(), TOAST.LENGTH_LONG).show();     
        }
    }

イメージキャプチャで試したのと同じように、なぜそれが目的の場所に保存されないのかわかりませんが、うまくいきました。

また、必要な権限を追加しました。

何かご意見は!!

4

2 に答える 2

2
File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", CAPTURE_TITLE);

への変更:

File file = new File(Environment.getExternalStorageDirectory() + "/DCIM/", CAPTURE_TITLE);
于 2012-07-07T05:43:43.553 に答える
2

代わりにこれを試してください...

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)), CAPTURE_TITLE);
于 2013-02-06T19:33:04.563 に答える