我需要一个意图来选择具有特定格式的视频

Posted

技术标签:

【中文标题】我需要一个意图来选择具有特定格式的视频【英文标题】:I need an Intent to pick a video with a specific format 【发布时间】:2019-03-13 06:13:58 【问题描述】:

我需要从图库中挑选照片或视频。

但需要限制视频格式,例如仅适用于mp4mov 或其他特定的以后。

我可以通过在这种代码中添加一些选项来实现它吗?

            Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT);
            i.addCategory(Intent.CATEGORY_OPENABLE);
            i.setType("*/*");
            i.putExtra(Intent.EXTRA_MIME_TYPES, new String[]"image/*", "video/*");
            startActivityForResult(i, requestCode);

【问题讨论】:

【参考方案1】:

您应该将其缩小到 video/mp4video/quicktime 或两者兼而有之,而不是 video/*。输入* 基本上意味着all video formats

一个例子:

Intent i = new Intent(Intent.ACTION_OPEN_DOCUMENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
i.putExtra(Intent.EXTRA_MIME_TYPES, new String[]"image/jpeg", "image/png", "video/mp4", "video/quicktime");
startActivityForResult(i, requestCode);

【讨论】:

我可以同时选择 mov 和 mp4 格式吗?因为android似乎不支持mov? 是的,默认情况下,Android 不支持播放 .mov 格式的视频,但您可以使用第三方播放器(如 github.com/Tubitv/TubiPlayer 或 github.com/google/ExoPlayer)来解决此问题。对于选择 .mov 格式的视频,我不确定它是否会起作用。也许您可以尝试一下,然后从这里告诉我们:) 我可以玩。问题是选择它,并且似乎这个参数 mov 在android中是不可选择的 github.com/nbsp-team/MaterialFilePicker 我想你可以试试这个。据我了解,这个库使用正则表达式来选择自定义扩展。 (您可以为 .mov 扩展名编写自己的正则表达式) 其实是的,quicktime和mov是一样的。但是android只处理quicktime关键字!

以上是关于我需要一个意图来选择具有特定格式的视频的主要内容,如果未能解决你的问题,请参考以下文章

如何选择特定的应用程序来处理意图

使用 android 意图在特定时间打开 youtube 视频

是否可以从测试应用程序中同时从相机意图中选择图像或视频?

jQuery 需要帮助在具有特定类的 div 元素中选择 tr 元素

Android 通过意图播放视频

特定文件扩展名的Android意图过滤器?