【问题标题】:Specify the album of a recorded video in Android在 Android 中指定录制视频的专辑
【发布时间】:2011-07-27 15:01:54
【问题描述】:

我正在尝试使用 MediaStore.ACTION_VIDEO_CAPTURE 意图在 Android 中录制视频。我可以将视频录制在默认库相册中,但我无法将其存储在其他任何地方。我尝试使用意图参数EXTRA_MEDIA_ALBUM:

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);

我还尝试在视频本身之前插入 MediaStore 中的视频行。

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);

'result'是1,所以行值实际上改变了,但是打开后它不在“我的应用视频”相册中。

我还尝试了 Android documentation 中解释的不同解决方案,但任何 Uri 都会出现 IllegalArgumentException(未知 URL 文件)。我想念一个方便的方法,比如 MediaStore.Images.Media.insertImage

你是如何处理这个问题的?

【问题讨论】:

  • 一定要用intent给你录视频吗?你不应该使用 MediaRecorder 吗?
  • 我想将视频信息保留在 MediaStore 中并使用本机相机应用程序,因此使用 MediaRecorder 将是最后一个选项。它“几乎”与 MediaStore.ACTION_VIDEO_CAPTURE 一起工作,我只需要为我的应用程序指定一个具体的专辑。这应该是一种方法,因为像 LiveProfile 这样的一些应用程序会这样做。
  • 可以使用 MediaRecorder 将录制的视频存储在 SD 卡中

标签: android uri video-capture android-contentprovider mediastore


【解决方案1】:

我有一个类似的问题,虽然我的代码分为两部分,一个处理照片,另一个处理视频,相同的过程和场景给出了两个不同的结果,下面的线程解释更多!

http://www.androidquestions.org/threads/618-Intent-doesn-t-keep-video-extras-after-capturing-the-video!?p=1761#post1761

如果这个问题有任何解决方案,我将不胜感激!

【讨论】:

    猜你喜欢
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多