Android 在流媒体播放过程中区分HLS内容

Android 在流媒体播放过程中区分HLS内容,android,exoplayer,Android,Exoplayer,我想使用Google的ExoPlayer来区分从HLS流传入的数据的内容类型 具体来说,我想区分视频和音频内容 谢谢 根据Exoplayer文档,播放器目前根本不支持检测媒体格式: ExoPlayer(尚未)自动检测正在播放的媒体的格式。应用程序需要知道它希望播放的媒体的格式,以便构建能够播放它的ExoPlayer。第438号问题跟踪了消除这一限制的情况 上述问题链接为: 如果可以访问原始流(未加密),您可以自己查看原始流,并从中找出它是音频还是视频,但这需要合理的工作量:HLS是一种“流协议”

我想使用Google的ExoPlayer来区分从HLS流传入的数据的内容类型

具体来说,我想区分视频和音频内容


谢谢

根据Exoplayer文档,播放器目前根本不支持检测媒体格式:

ExoPlayer(尚未)自动检测正在播放的媒体的格式。应用程序需要知道它希望播放的媒体的格式,以便构建能够播放它的ExoPlayer。第438号问题跟踪了消除这一限制的情况

上述问题链接为:

如果可以访问原始流(未加密),您可以自己查看原始流,并从中找出它是音频还是视频,但这需要合理的工作量:HLS是一种“流协议”,它将MPEG-2传输流分块传输。这些MPEG-2传输流中的每一个都可以包含音频和视频


MPEG标准(MPEG 1和MPEG 2)使用流ID来识别传输流中的每个单独的音频或视频流。音频流编号为110X XXXX,视频流编号为1110XXXX-因此,您可以检查MPEG2传输流中的所有单个流,看看它是仅音频、仅视频还是混音。

。更好的解决方案建议。能否请您用一个片段编辑您的答案,以测试MPEG-2传输流是否包含音频/视频/两者?感谢您提供了更多有关如何检查音频和视频流的详细信息-抱歉,没有任何代码提供给您!这将是一个合理的工作量-它可能是值得尝试的球员,看看是否有一些更简单的技巧,你可以使用,以满足你的需要,例如,如果您尝试为没有视频的HLS流播放视频,然后捕获错误并假设该流仅为音频流,则查看是否生成错误。我将尝试并使用代码片段进行更新-然后您可以将它们添加到您的答案中,我将选择它-谢谢!!