我从服务器获取 m3u8 或 mpd 文件并将其下载到我的应用程序存储中。我将如何离线播放。我是离线视频的新手。对其使用方法的任何建议。目前我用 exoplayer 播放 m3u8 或 mpd 文件,它是 Dash、HLS 或渐进式视频。如何通过牢记 allrights drm 来离线播放这些视频。
https://www.exampleurl.com/playlist.m3u8?hdntl=st=16608748~exp=166797876~acl=/*~hmac=fdhf577jbjb5ss76dsd6ds78d7d6ghg78
下面的代码我使用 exoplayer sdk 从文件路径 lastsegment 中查找流类型
@ContentType
public static int inferContentType(String fileName) {
fileName = toLowerInvariant(fileName);
if (fileName.endsWith(".mpd")) {
return C.TYPE_DASH;
} else if (fileName.endsWith(".m3u8")) {
return C.TYPE_HLS;
}
Matcher ismMatcher = ISM_URL_PATTERN.matcher(fileName);
if (ismMatcher.matches()) {
@Nullable String extensions = ismMatcher.group(2);
if (extensions != null) {
if (extensions.contains(ISM_DASH_FORMAT_EXTENSION)) {
return C.TYPE_DASH;
} else if (extensions.contains(ISM_HLS_FORMAT_EXTENSION)) {
return C.TYPE_HLS;
}
}
return C.TYPE_SS;
}
return C.TYPE_OTHER;
}
以及 youtube 离线视频的工作原理是什么?