@@ -493,23 +493,42 @@ function PlayPageClient() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 去广告相关函数
|
function filterAdsFromM3U8(type : string,m3u8Content: string): string {
|
||||||
function filterAdsFromM3U8(m3u8Content: string): string {
|
|
||||||
if (!m3u8Content) return '';
|
if (!m3u8Content) return '';
|
||||||
|
|
||||||
// 按行分割M3U8内容
|
// 按行分割M3U8内容
|
||||||
const lines = m3u8Content.split('\n');
|
const lines = m3u8Content.split('\n');
|
||||||
const filteredLines = [];
|
const filteredLines = [];
|
||||||
|
|
||||||
|
let nextdelete = false
|
||||||
for (let i = 0; i < lines.length; i++) {
|
for (let i = 0; i < lines.length; i++) {
|
||||||
const line = lines[i];
|
const line = lines[i];
|
||||||
|
|
||||||
|
if (nextdelete){
|
||||||
|
nextdelete = false
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
// 只过滤#EXT-X-DISCONTINUITY标识
|
// 只过滤#EXT-X-DISCONTINUITY标识
|
||||||
if (!line.includes('#EXT-X-DISCONTINUITY')) {
|
if (!line.includes('#EXT-X-DISCONTINUITY')) {
|
||||||
|
|
||||||
|
if (type == "ruyi" && (
|
||||||
|
line.includes('EXTINF:5.640000') ||
|
||||||
|
line.includes('EXTINF:2.960000') ||
|
||||||
|
line.includes('EXTINF:3.480000') ||
|
||||||
|
line.includes('EXTINF:4.000000') ||
|
||||||
|
line.includes('EXTINF:0.960000') ||
|
||||||
|
line.includes('EXTINF:10.000000') ||
|
||||||
|
line.includes('EXTINF:1.266667')
|
||||||
|
)){
|
||||||
|
nextdelete = true
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
filteredLines.push(line);
|
filteredLines.push(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return filteredLines.join('\n');
|
return filteredLines.join('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -634,7 +653,7 @@ function PlayPageClient() {
|
|||||||
// 如果是m3u8文件,处理内容以移除广告分段
|
// 如果是m3u8文件,处理内容以移除广告分段
|
||||||
if (response.data && typeof response.data === 'string') {
|
if (response.data && typeof response.data === 'string') {
|
||||||
// 过滤掉广告段 - 实现更精确的广告过滤逻辑
|
// 过滤掉广告段 - 实现更精确的广告过滤逻辑
|
||||||
response.data = filterAdsFromM3U8(response.data);
|
response.data = filterAdsFromM3U8(currentSourceRef.current,response.data);
|
||||||
}
|
}
|
||||||
return onSuccess(response, stats, context, null);
|
return onSuccess(response, stats, context, null);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user