js怎么判断视频链接是否能播放

标题js怎么判断视频链接是否能播放

这个函数用提供的URL创建一个新的Video元素,并根据视频是否可以播放来解析一个Promise。它监听canplaythrough事件来确定视频是否可播放,并监听error事件来处理可能发生的任何错误。

javascript 复制代码
function canPlayVideo(url) {
    return new Promise((resolve, reject) => {
        const video = document.createElement('video');
        video.src = url;
        video.addEventListener('canplaythrough', () => {
            resolve(true);
            video.remove();
        });
        video.addEventListener('error', () => {
            resolve(false);
            video.remove();
        });
        document.body.appendChild(video);
    });
}

// Example usage
const videoUrl = 'https://www.example.com/video.mp4';
canPlayVideo(videoUrl)
    .then((result) => {
        if (result) {
            console.log('Video is playable');
        } else {
            console.log('Video is not playable');
        }
    });
相关推荐
默_笙5 小时前
💫 闭包是个背包:拆解小米前端面试题里的三道"闭包陷阱"
前端·javascript·面试
天若有情6735 小时前
粒子星空背景单页HTML模板|炫酷动态星空特效网页(纯前端)
前端·html·css动画·网页特效·粒子星空·静态网页模版
工业涂料百问5 小时前
【趋势前沿】系列(三)工业涂料国产替代的三个台阶:航空、海工、电子的突破路径与认证壁垒
前端
前端snow5 小时前
ai agent --- agentic RAG
前端
gyratesky5 小时前
记录一种很新的大屏开发方式
前端·数据可视化
xy34536 小时前
Axure 9.0 中继器核心结构
前端·ui·html·axure·原型·产品设计
老王以为6 小时前
走进 AI Agent 第四篇(上):知识获取管道——RAG 基础
前端·人工智能·全栈
夏天要喝冰可乐6 小时前
一处写作,多平台分发:我给掘金做了一款开源 Chrome 插件
前端·chrome·vibecoding
程序员老陆7 小时前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep