这是我的嵌入字幕的 m3u8:
#EXTM3U
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Vietnamses",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="vi",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="http://api.mhdviet.vn/sub.m3u8?language=VIE&movieid=8220&ep=1"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="Vietnamses (FORCED)",DEFAULT=NO,AUTOSELECT=YES,FORCED=YES,LANGUAGE="vi",URI="http://api.mhdviet.vn/sub.m3u8?language=VIE&movieid=8220&ep=1"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English",DEFAULT=NO,AUTOSELECT=YES,FORCED=NO,LANGUAGE="eng",CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog, public.accessibility.describes-music-and-sound",URI="http://api.mhdviet.vn/sub.m3u8?language=ENG&movieid=8220&ep=1"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",NAME="English (FORCED)",DEFAULT=NO,AUTOSELECT=YES,FORCED=YES,LANGUAGE="eng",URI="http://api.mhdviet.vn/sub.m3u8?language=ENG&movieid=8220&ep=1"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=855040,RESOLUTION=480x352,SUBTITLES="subs"
http://allvarhsin.flix-cdn.com/FlixVOD/ACompany/I_Frankenstein_2014/1f9daf14d2f84cd8cd0121804ec1e35a/480/480.m3u8
我使用 Exoplayer
加载我的 hls 视频。 我的 m3u8 文件有什么问题?
最佳答案
在 ExoPlayer 1.5 中,您的主 list 被解析,4 种语言被添加到集合中。结果是一个有效的 HlsMasterPlaylist。 视频播放也正确开始。
如果我在 HlsMasterPlaylist 类中注释掉字幕成员(及其初始化),代码仍会以相同的方式编译和运行。
public final class HlsMasterPlaylist extends HlsPlaylist {
public final List<Variant> variants;
//public final List<Subtitle> subtitles;
看来您的 list 已正确解析,但未使用链接的字幕(该部分尚未实现)。
关于android - Exoplayer 无法加载 HLS 视频的字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32217092/