android - 在Android中将视频背景资产和图像贴纸层发送到instagram的正确方法是什么?
问题描述
我想将我的应用程序中的视频分享到 Instagram,使用我的应用程序徽标作为贴纸。我一直在关注这个文档,但结果是每次我尝试分享时,instagram 打开,显示我的视频和贴纸,它冻结了大约一秒钟,然后贴纸消失了,只留下我的视频,没有即使发布了上述视频,也可以看到贴纸。
我也读过这个问题,他们说无法与视频分享贴纸是 android 的一个错误,但现在应该修复它。我用于贴纸的图像是 640x480,这是根据文档推荐的尺寸,所以我也不认为是图像尺寸。我只能认为我分享它是错误的。
这是我的代码:
Uri stickerAssetUri = Uri.parse("android.resource://" + R.class.getPackage().getName() + "/drawable/" + R.drawable.app_logo_sticker);
File media = new File(localFilePath);
Uri backgroundAssetUri = FileProvider.getUriForFile(getActivity(), getString(R.string.file_provider), media);
Intent intent = new Intent("com.instagram.share.ADD_TO_STORY");
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(backgroundAssetUri, "video/mp4");
intent.putExtra("interactive_asset_uri", stickerAssetUri);
getActivity().grantUriPermission(
"com.instagram.android", stickerAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
if (getActivity().getPackageManager().resolveActivity(intent, 0) != null) {
getActivity().startActivityForResult(intent, 0);
}
解决方案
问题是我用于测试的视频文件。背景资产的最大持续时间为 20 秒,而我使用的文件根据视频视图为 20 秒,检索视频的实际持续时间给了我 20333 英里,超过了文档中指定的限制。我使用了一个实际符合标准的不同文件并且它有效。
推荐阅读
- java - 如何将 AR 对象旋转到位?
- ios - SwiftUI - 如何获取 ScrollView 内容的大小(高度)
- asciidoc - Java 源文件也可以是带有目录的有效 AsciiDoc 文档吗?
- python - Python Base64 影响输出数据
- java - Intellij (java) 运行/调试配置“未指定主类”Azure Functions
- webpack - 根据某些条件更改 webpackMode
- docker - /etc/nginx/conf.d/default.conf:1 中的上游“9000”中没有端口
- c - 根据大小使用科学计数法打印浮点数
- autodesk-forge - 设计自动化 LogTrace onProgress 无法匹配自定义调用中的参数
- jestjs - 开玩笑,toClick() 在使用 Puppeteer 标记时失败