MediaStore.ACTION_VIDEO_CAPTUREインテントを使用してAndroidに動画を録画しようとしています。私はデフォルトのライブラリーアルバムにビデオを録音できますが、他の場所には保存できません。Androidで録画ビデオのアルバムを指定します。
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_MEDIA_ALBUM, "My app videos");
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
私はまた、ビデオ自体の前にメディアストアでのビデオ行を挿入しようとしている:私は意図パラメータEXTRA_MEDIA_ALBUMを使用しようとしました。
ContentValues videoValues = new ContentValues();
videoValues.put(MediaStore.Video.Media.TITLE, "My app video at" + System.currentTimeMillis());
videoValues.put(MediaStore.Video.Media.ALBUM, "My app videos");
Uri videoUri= getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, videoValues);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
そして私はまた、ビデオが挿入されると、私はギャラリーアプリケーションを開いたら、それは別のアルバムにあるかどうかを確認するために、メタデータを変更しようとしています。
protected void onActivityResult(final int requestCode, final int resultCode, final Intent dataIntent) {
...
Uri contentUri = dataIntent.getData();
ContentValues values = new ContentValues();
values.put(MediaStore.Video.Media.ALBUM, "My app videos");
int result = getContentResolver().update(contentUri, values, null, null);
「結果が」1であるので、行の値が実際に変更されますが、私はそれを開いたら、それは「マイアプリの動画」アルバムではありません。
また、私はAndroid documentationで説明されているが、UriにはIllegalArgumentException(不明なURLファイル)で説明されているさまざまなソリューションを試しました。 MediaStore.Images.Media.insertImage
このような問題をどのように処理しましたか?
あなたのためにビデオを録画する意図を使用する必要がありますか?あなたはMediaRecorderを使うべきではありませんか? – Abhi
私は、ビデオ情報をMediaStoreに保存してネイティブカメラアプリケーションを使用したいので、MediaRecorderが最後のオプションになるようにしてください。 MediaStore.ACTION_VIDEO_CAPTUREを使って「ほとんど」作業しています。アプリケーションに具体的なアルバムを指定するだけです。それはLiveProfileのようないくつかのアプリケーションがそれをするので、それを行う方法でなければなりません。 –
SDカードに録画した映像をMediaRecorder – Abhi