问题描述
var medplay: MediaPlayer
holder.vidplayer.setVideoPath(fileUrl)
holder.vidplayer.setonPreparedListener { mp ->
medplay = mp
}
我不想再次单独下载视频进行共享,而是共享已在 VideoView/MediaPlayer 中加载的文件,然后:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("video/*");
sharingIntent.putExtra(Intent.EXTRA_TEXT,"hey this is the video text");
sharingIntent.putExtra(Intent.EXTRA_STREAM,uriFromVideoView);
startActivity(Intent.createChooser(sharingIntent,"Share Video");
这可能吗?我也会接受替代方案/建议
解决方法
这可能吗?
没有。首先,对于所有类型的流来说,这在物理上是不可能的。除此之外,VideoView
/MediaPlayer
不会将媒体写入磁盘。它们分块下载,以最大限度地减少 RAM 消耗,并将其仅用于播放。
我也会接受替代方案/建议
自行下载视频,例如使用 OkHttp。将下载的副本用于 setVideoPath()
和 ACTION_SEND
(后者最有可能是 FileProvider
)。请注意,这仅适用于作为实际文件的视频流(例如,不适用于某些直播),并且需要先下载整个视频。