gpt4 book ai didi

android - 使用 Camera app intent 在 Android 4.3 中捕获视频

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:15:32 31 4
gpt4 key购买 nike

如何使用 4.3 中的 Intent 调用 Android 相机应用程序来捕获视频。我让它在 4.2 及以下版本中工作。连Google's sample is broken .这是一个错误吗?或者谷歌是否改变了他们返回录制视频的方式。图像捕获仍然有效。

我仍然得到 RESULT_OK,但 MediaStore.ACTION_VIDEO_CAPTURE Intent 上的 Intent 数据为空。

最佳答案

问题

是的,有一个bug starting with Android 4.3 release .

作为documentation说:

If EXTRA_OUTPUT is not present the video will be written to the standard location for videos, and the Uri of that location will be returned in the data field of the Uri.

我遇到的是返回的数据字段值为 Null 而不是包含视频文件的 Uri


解决方案

目前,如果设备的 API VersionMediaStore.EXTRA_OUTPUT 指定视频文件的输出位置,则将 MediaStore.EXTRA_OUTPUT 传递给 Intent是 18。这按预期工作。

由于您使用默认图库位置来存储视频,我猜您会希望保持不变。因此,为此您需要按如下方式设置 EXTRA_OUTPUT

  1. 插入一条新记录到 MediaStore.Video.Media.EXTERNAL_CONTENT_URI :

    Uri videoUri = context.getContentResolver().insert(EXTERNAL_CONTENT_URI, value);

    作为 value 一个 ContentValues,带有新视频文件的显示名称、文件类型和文件路径。例如。 :

    ContentValues value = new ContentValues();
    value.put(MediaStore.Video.Media.TITLE, "VideoTitle");
    value.put(MediaStore.Video.Media.MIME_TYPE, "video/mp4");
    value.put(MediaStore.Video.Media.DATA, videoFilePath);
  2. 将返回值 videoUri 作为 EXTRA_OUPUT 传递给 Intent

关于android - 使用 Camera app intent 在 Android 4.3 中捕获视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18472953/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com