安卓媒体播放器是否支持HLS音频流?

3
我们已经开发了一款可以播放MP4音频流的应用程序。现在我们想要将这些MP4流替换为HLS流(.m3u8),因为IOS有内置支持播放HLS流。我们已经尝试在安卓5.1和6.0设备上播放流,看起来原生安卓媒体播放器对HLS流有支持。但是在部分4.4版本设备上,我们发现媒体播放器在执行操作如seek()等时变得不响应。请问有人能够确认原生安卓媒体播放器是否完全支持HLS流(.m3u8)?

你正在尝试直播电视吗? - Akshay Mukadam
不,只有存储在流媒体服务器上的音轨。 - agreeya van
它应该与媒体播放器和 Surface View 兼容。 - Akshay Mukadam
为什么我们需要SurfaceView?就像我说的,这是一个仅支持音频的应用程序。 - agreeya van
是的,我看过了。我能够使用MediaPlayer播放m3u8 hls流,但在某些设备上,经过一段时间后,MediaPlayer会变得无响应。这就是为什么我想知道它是否完全支持hls流的原因? - agreeya van
显示剩余2条评论
1个回答

1

我有同样的问题,但在我的情况下,我需要播放视频。

虽然较新版本的Android操作系统表现会更好一些,但Android碎片化仍然是一个问题,根据Android版本的不同,HLS可能会:

  • 完全不支持(Android 2.3,姜饼)

  • 导致设备崩溃(Android 3.0,蜂巢)

  • 缺乏寻找能力,功能图像失真,并在全屏时完全重新启动视频(Android 4.0,冰淇淋三明治)

  • 缺乏寻找能力,在全屏时抛出错误并崩溃(Android 4.1,果冻豆)

我找到了一些可能的解决方案:

最终我使用Android 4.1中的ExoPlayer和之前版本中的MediaPlayer。

Gradle依赖项: compile 'com.google.android.exoplayer:exoplayer:r1.4.2'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接