当前位置: 首页 > 知识库问答 >
问题:

应用程序在通过Android intent录制后保存2个视频文件

潘修文
2023-03-14

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

现在,视频确实被保存到那个目录中,使用那个特定的文件名。然而,我注意到在我手机的多媒体资料中,相同的视频以默认文件名存储在那里(即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个答案

陶高峯
2023-03-14

您正在将视频录制委托给第三方应用程序。第三方应用程序可以随心所欲。它可以:

>

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

完全忽略额外的输出(这可以说是一个bug,但有很多有bug的相机应用程序)

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

如果视频录制不是必需的,并且您不介意这些问题,则只能使用ACTION\u VIDEO\u CAPTURE(或ACTION\u IMAGE\u CAPTURE)。

在这种情况下,如果您在EXTRA_OUTPUT中提供的位置获得视频,请数数您的祝福,不要担心第二个副本,因为您无法阻止它或真的对此做了很多事情。

 类似资料:
  • 我正在尝试开发一个应用程序,允许我在录制视频时绘制视频,然后将录制的视频和视频保存在一个mp4文件中供以后使用。另外,我想使用camera2库,特别是我需要我的应用程序在高于API 21的设备上运行,我总是避免使用不推荐的库。 我尝试了很多方法,包括FFmpeg,其中我放置了TextureView的覆盖层。getBitmap()(来自摄影机)和从画布获取的位图。它工作正常,但由于它的功能很慢,视频

  • 是迄今为止用Java捕获麦克风输入的最简单方法。我想对我用屏幕视频(在屏幕录制软件中)捕获的音频进行编码,以便用户可以创建教程、幻灯片盒等。 我使用对视频进行编码<他们确实有一个用视频编码音频的教程,但他们从文件中获取音频。就我而言,音频是实时的 参考文献: 1. DavaDoc for TargetDataLine:http://docs.oracle.com/javase/1.4.2/docs

  • 我正在创建一个iOS应用程序,允许用户: 登录到应用程序 录制视频 把视频上传到云端 观看他们存储在云端的视频 设计后端的最佳方式是什么?通常我会使用Parse(我以前使用过),但考虑到它们正在关闭,我需要找到一个新的解决方案。请记住,我以前从未做过服务器端编程。 我考虑使用如下配置: AWS DynamoDB 用户名、密码、电子邮件等。 视频元数据-标题、描述、标签等。 AWS S3上视频文件的

  • 我一直无法让应用程序录制音频,同时让iPhone音乐应用程序通过蓝牙扬声器播放。 例如,如果我这样做: 然后音乐应用程序将开始通过iPhone内置的扬声器播放音乐,而不是通过蓝牙。换句话说,似乎没有办法在应用程序中录制音频的同时还允许通过蓝牙播放音乐。 如果我删除AVAudioSessionColloryOptionDefaultToSpeaker,那么音频路由将切换到接收器。这比让它通过iPho

  • 我能够创建并开始拍摄视频。但是如何设置文件名并将其保存到特定目录? 这是我到目前为止所拥有的:

  • 我目前有4个帐户连接到我手机上的Google Drive应用程序。 我正在试着扮演一个角色。来自Google Drive的mp4文件,使用以下内容: 当我选择Google Drive应用程序播放该文件时,我会看到当前连接的4个帐户的列表。 我已经知道文件来自哪个帐户。是否有任何方法将此帐户传递给start active,也许作为意图的一部分?