在Android中播放不同的视频

时间:2018-01-15 10:46:29

标签: android video

我是Android新手并试图在Android中播放视频,播放列表中有三种不同类型的视频(对于前端用户都是相同类型的视频,但在后端使用三种不同的来源)一种是youtube视频第二个是dailymotion,第三个是MP4视频。 现在我正在使用意图

运行Youtube / Dailymotion
 Intent intent= new Intent(Intent.ACTION_VIEW);        
intent.setDataAndType(Uri.parse(URL), "video/*");
            startActivity(intent);

这对于Youtube和DailyMotion视频来说非常好,但是对于MP4来说,这需要花费太多时间。

有没有办法在一个视频播放器中播放所有类型的视频,只要这些视频很长(持续时间超过40-50M)。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您似乎将YouTube和DailyMotion视频的网址传递给了意图,该意图指向一个HTML网页,其中包含一个播放器,其中包含指向相关视频的链接。

这将使用YoutTube或DailyMotion播放器播放视频,通常利用现在的浏览器HTML5播放器 - 视频本身将在其服务器上以多个比特率提供,并将使用ABR来允许它快速启动确保质量符合可用的网络条件和设备类型。

如果您只是将一个直接URL传递给静态托管的MP4视频,那么有两个关键因素可能会导致延迟开始:

  • 快速启动 - MOOV标题'原子'在mp4文件中作为标准文件的末尾。如果您想要流式传输视频,最好将其移至开头,以避免在开始之前下载整个视频。有关详细信息,请参阅此处以及将MOOV原子移至开头的示例工具:http://multimedia.cx/eggs/improving-qt-faststart/
  • ABR - 如上所述,大多数大型流媒体服务都将使用ABR来传输视频。这不仅允许选择符合条件的质量,而且允许视频以低带宽启动以便快速启动,然后随着视频的进展逐步提升质量水平。当您启动YouTube,NetFLix等视频时,您通常可以看到此效果。请参阅此处以获取示例和更多信息:https://stackoverflow.com/a/42365034/334402