HLS (HTTP Live Streaming) 是 Apple 的动态码率自适应技术。主要用于 PC 和 Apple 终端的音视频服务。包括一个 m3u8 的索引文件, TS 媒体分片文件和 key 加密串文件。
hls.js 是一个 JavaScript 库,可帮助实现 HTTP Live Streaming (HLS)。
注意: iOS 默认支持 HLS ,所以在 iOS 端实现 H5 页面播放 m3u8 流地址时无需使用 hls.js 。
若想使音视频跨平台播放时减少错误,可在 JavaScript 代码中增加条件判断。
// 首先检测元素是否支持HLS
if (audio.canPlayType('application/vnd.apple.mpegurl')) {
// 支持HLS,直接加载m3u8源
audio.src = '流地址';
} else if (Hls.isSupported()) {
// 不支持HLS,使用hls.js
var hls = new Hls();
hls.loadSource('流地址');
hls.attachMedia(audio);
}