增加测速超时设置

This commit is contained in:
mtvpls
2026-01-17 00:28:51 +08:00
parent ce6d02c023
commit 2587479970
3 changed files with 104 additions and 20 deletions
+6 -3
View File
@@ -138,7 +138,10 @@ export function processVideoUrl(originalUrl: string): string {
* @param m3u8Url m3u8播放列表的URL
* @returns Promise<{quality: string, loadSpeed: string, pingTime: number, bitrate: string}> 视频质量等级和网络信息
*/
export async function getVideoResolutionFromM3u8(m3u8Url: string): Promise<{
export async function getVideoResolutionFromM3u8(
m3u8Url: string,
timeoutMs: number = 4000
): Promise<{
quality: string; // 如720p、1080p等
loadSpeed: string; // 自动转换为KB/s或MB/s
pingTime: number; // 网络延迟(毫秒)
@@ -167,12 +170,12 @@ export async function getVideoResolutionFromM3u8(m3u8Url: string): Promise<{
// 固定使用hls.js加载
const hls = new Hls();
// 设置超时处理
// 设置超时处理 - 使用传入的超时时间
const timeout = setTimeout(() => {
hls.destroy();
video.remove();
reject(new Error('Timeout loading video metadata'));
}, 4000);
}, timeoutMs);
video.onerror = () => {
clearTimeout(timeout);