// 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' } } const 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) })