通过ACTION_SEND在Android中共享流式视频网址

Gil*_*Gil 7 youtube video android sharing

我需要通过第三方应用程序(如Youtube,Gmail等)共享视频网址(不是YouTube).我的服务器上有.mp4或.m3u8文件的链接,我在VideoView上成功显示,但我也有我希望通过ACTION_SEND分享同一活动的分享按钮.

我测试过:

        Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("text/plain");
        share.putExtra(Intent.EXTRA_STREAM, Uri.parse(mVideoUrl));
        startActivity(Intent.createChooser(share, "Share Video"));
Run Code Online (Sandbox Code Playgroud)

它确实启动了共享选择器,但我不能在Youtube上分享这个,因为他们期望收到视频类型而不是链接.共享链接也是一个糟糕的选择,因为它并不认为它是一个视频.

如果我用这个:

        Intent share = new Intent(Intent.ACTION_SEND);
        share.setType("video/*");
        share.putExtra(Intent.EXTRA_STREAM, Uri.parse(filePath));
        startActivity(Intent.createChooser(share, "Share Video")); 
Run Code Online (Sandbox Code Playgroud)

虽然filePath是存储在外部存储中的视频文件的绝对路径,但它确实在YouTube,Gmail,Facebook等上共享真实的视频文件.

但我的问题是我的视频文件大小可能超过300MB,因此将文件下载到设备然后共享可能会耗费内存,当然下载文件需要花费一些时间.

那么有没有办法分享链接,让第三方应用程序视为视频并将其嵌入到他们的应用程序中,或者我唯一的选择是下载视频,保存在存储中然后共享(这是更糟糕的选择)或者分享它作为文本链接?

还有其他我不熟悉的选项是通过YouTube,Gmail等分享流媒体视频而无需将真实文件下载到设备吗?