// npm i hls.js // import Hls from 'hls.js'; function playM3u8(video, url, art) { if (Hls.isSupported()) { if (art.hls) art.hls.destroy(); const hls = new Hls(); hls.loadSource(url); hls.attachMedia(video); art.hls = hls; art.on('destroy', () => hls.destroy()); } else if (video.canPlayType('application/vnd.apple.mpegurl')) { video.src = url; } else { art.notice.show = 'Unsupported playback format: m3u8'; } } var art = new Artplayer({ container: '.artplayer-app', url: 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8', type: 'm3u8', customType: { m3u8: playM3u8, }, }); art.on('ready', () => { console.info(art.hls); });