diff --git a/src/app/play/page.tsx b/src/app/play/page.tsx index b1ef832..5b1cfd8 100644 --- a/src/app/play/page.tsx +++ b/src/app/play/page.tsx @@ -3813,12 +3813,22 @@ function PlayPageClient() { if (!video || !url) return; const sources = Array.from(video.getElementsByTagName('source')); const isHlsJsActive = !!(video as any).hls; + const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent : ''; + const isIOSWebKit = + /iPad|iPhone|iPod/i.test(userAgent) || + (/Macintosh/i.test(userAgent) && + typeof navigator !== 'undefined' && + navigator.maxTouchPoints > 1); + const isSafari = + isIOSWebKit || + (/Safari/i.test(userAgent) && + !/Chrome|Chromium|Edg|OPR|Android/i.test(userAgent)); const isHlsLikeSource = /\.m3u8?($|\?)/i.test(url) || url.includes('/api/proxy-m3u8') || url.includes('/api/proxy/vod/m3u8'); - if (isHlsJsActive && isHlsLikeSource) { + if (isSafari && isHlsJsActive && isHlsLikeSource) { // HLS 由 hls.js 接管时,不能再给