我正在开展流媒体视频项目。我需要开发一个视频,可以运行来自互联网的视频,我用谷歌搜索并查找一些视图,但我无法确定哪个是最好的,为什么,所以请帮助我找到一个最佳视图来播放视频。
它应该从API级别8开始工作。
答案 0 :(得分:2)
您最大的限制是您需要API 8级支持。这基本上不包括TextureView和低级媒体API,您只能使用MediaPlayer + Surface / SurfaceView或VideoView。 VideoView基本上是一个附带MediaPlayer的SurfaceView。或者,您可以与MediaPlayer分开管理Surface。 MediaPlayer仅支持rtsp和渐进式http播放,但并非100%确定它们存在于API 8中。它还支持自API 11以来的有限HLS支持。
在API 16中添加了使用MediaPlayer在任意Surface上播放媒体的功能,但您可以在API 8中使用setDisplay。在Surface上播放媒体时,存在某些限制,例如Surface(视图)无法使用动画。 TextureView将提供最灵活的用户界面,但它已在API 14中添加,因此它已经完成。请注意,TextureView不适用于受保护的内容。
API 16中添加了低级Media *接口(MediaCodec,MediaExtractor),因此它们也已经用完了。这些将为您提供播放大多数视频的最大灵活性。 MediaExtractor支持一些流协议(rtsp和渐进式http)和一些容器。否则,您可以实现自己的流提取器并仅使用MediaCodec API。