通过Android意图录制后,App会保存2个视频文件

时间:2016-02-24 23:54:18

标签: android android-intent video

我编写代码以通过Android意图捕获视频,并将视频保存到具有特定文件名的特定目录。

现在,视频实际上已使用该特定文件名保存到该目录。但是,我注意到在我手机的图库中,相同的视频存储在那里,并带有默认文件名(即2016_2_24.mp4)

我不想在我的图库中添加这个额外的视频文件。这是我到目前为止的代码:

videoPath = "/X1," + num1 +
             ",Y1," + num2 +
             ",X2," + num3 +
             ",Y2," + num4 +
             ",A," + num5 +
             ",G," + num6 +
             ",la," + num7 +
             ",lo," + num8+ ".mp4";

path = new File(mFile, videoPath);

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(path));
startActivityForResult(intent, VIDEO_INTENT);

1 个答案:

答案 0 :(得分:1)

您正在将视频录制委托给第三方应用。第三方应用程序可以做任何想做的事情。它可以:

  • 将视频录制到EXTRA_OUTPUT

  • 中提供的位置
  • 将视频录制到其他地方并在EXTRA_OUTPUT

  • 中提供的位置制作副本
  • 完全忽略EXTRA_OUTPUT(这可能是一个错误,但有很多错误的相机应用程序)

有数千款Android设备型号和数千款相机应用,包括用户安装的预安装应用和应用。这些应用程序的行为各不相同,可以包含我在上面概述的任何方案。

如果视频录制不是必需的,并且您不介意这些问题,则只能使用ACTION_VIDEO_CAPTURE(或ACTION_IMAGE_CAPTURE)。

在这种情况下,如果您在EXTRA_OUTPUT中提供的位置获取视频,请计算您的祝福,并且不要担心第二份副本,因为您无法阻止或真正做很多事情它