有一个极其重要的声明:

重要警告:Flash技术已被淘汰

Adobe公司已于 2025年12月31日 正式停止支持和分发Flash Player,所有主流浏览器(Chrome, Firefox, Edge, Safari等)都已默认禁用或完全移除了对Flash的支持。

强烈建议您不要在新项目中使用Flash视频播放器。 这不仅会带来安全风险,而且您的用户将无法在现代浏览器中正常观看视频。


为什么Flash会被淘汰?

  1. 安全漏洞:Flash平台由于其复杂的架构和历史遗留问题,频繁出现严重的安全漏洞,成为黑客攻击的主要目标。
  2. 性能差:相比HTML5,Flash消耗更多的CPU和内存资源,容易导致浏览器卡顿甚至崩溃。
  3. 移动设备不支持:iOS和Android系统从一开始就不支持Flash,这使得Flash内容在移动端无法访问。
  4. HTML5的崛起:HTML5的 <video> 标签提供了一个更开放、更高效、更安全的原生视频播放解决方案,无需任何插件。

如果您仍然需要查看或修改旧的Flash代码

以下是为您准备的 旧版Flash视频播放器代码,仅用于维护或学习旧项目。

嵌入Flash视频播放器的基本HTML代码

这是最常见的方式,使用 <object><embed> 标签。<object> 是HTML标准,而 <embed> 是一个更广泛支持的标签,通常将两者结合使用以确保兼容性。

核心组件:

  • movie.swf: 你的Flash播放器文件(例如JW Player, Flowplayer等)。
  • video.flv: 你要播放的Flash视频文件(通常是FLV格式)。
  • file: 一个Flash播放器特有的参数,用来指定视频文件的路径。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">旧版Flash视频播放器示例</title>
    <!-- 为了更好的兼容性,可以添加一些旧式声明 -->
</head>
<body>
    <h1>Flash视频播放器 (已过时)</h1>
    <div style="width: 640px; height: 480px; margin: 20px auto; border: 1px solid #ccc;">
        <!-- 使用 object 和 embed 标签嵌入 Flash -->
        <object 
            classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
            codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
            width="640" 
            height="480"
            id="myFlashMovie">
            <!-- 如果用户没有安装Flash,显示此内容 -->
            <param name="movie" value="player.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#ffffff" />
            <param name="allowScriptAccess" value="sameDomain" />
            <!-- Flash播放器需要的视频文件参数 -->
            <param name="flashvars" value="file=video.flv" />
            <!-- embed 标签用于兼容非IE浏览器 -->
            <embed 
                src="player.swf" 
                quality="high" 
                bgcolor="#ffffff"
                width="640" 
                height="480" 
                name="myFlashMovie" 
                align="middle"
                play="true" 
                loop="false" 
                quality="high"
                allowScriptAccess="sameDomain"
                type="application/x-shockwave-flash"
                pluginspage="http://www.macromedia.com/go/getflashplayer"
                flashvars="file=video.flv" />
        </object>
    </div>
    <p style="color: red; text-align: center;">
        <strong>警告:</strong> 您的浏览器可能已禁用或未安装Flash Player,此视频将无法播放。
    </p>
</body>
</html>

使用流行的Flash播放器组件(如JW Player 5)

没有人会自己从零写一个Flash播放器,通常会使用成熟的第三方播放器组件,比如曾经的JW Player,使用它们会更简单,功能也更强大。

假设你下载了JW Player 5的文件包,里面有 player.swfswfobject.js

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">JW Player 5 示例</title>
    <!-- 引入 SWFObject 库,这是嵌入Flash的推荐方法 -->
    <script type="text/javascript" src="swfobject.js"></script>
</head>
<body>
    <h1>JW Player 5 (Flash) 示例</h1>
    <!-- 1. 创建一个容器div,用于放置Flash播放器 -->
    <div id="mediaspace">此文本将在用户没有Flash时显示。</div>
    <script type="text/javascript">
        // 2. 使用SWFObject来动态创建Flash播放器
        var flashvars = {
            "file":          "video.flv",      // 视频文件路径
            "image":         "preview.jpg",    // 视频预览图
            "skin":          "skins/glow.zip", // 播放器皮肤
            "autostart":     "false"           // 是否自动播放
        };
        var params = {
            "allowfullscreen": "true",      // 允许全屏
            "allowscriptaccess": "always"   // 允许与JS交互
        };
        var attributes = {
            "id": "player",                  // Flash对象的ID
            "name": "player",                // Flash对象的名称
            "style": "width:640px;height:480px;" // 播放器的CSS样式
        };
        // 调用SWFObject的embed方法进行嵌入
        // 参数:容器ID, Flash文件路径, 宽度, 高度, 版本要求, 替换内容, flashvars, params, attributes
        swfobject.embedSWF("player.swf", "mediaspace", "640", "480", "9.0.0", "expressInstall.swf", flashvars, params, attributes);
    </script>
</body>
</html>

现代替代方案:HTML5 视频播放器

这才是当前和未来的标准,代码更简单、更安全、性能更好。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">HTML5 视频播放器</title>
    <!-- (可选) 引入一个流行的播放器皮肤,如 Video.js -->
    <link href="https://vjs.zencdn.net/8.6.1/video-js.css" rel="stylesheet" />
</head>
<body>
    <h1>HTML5 视频播放器 (推荐)</h1>
    <!-- 使用 video 标签 -->
    <video 
        id="my-video" 
        class="video-js vjs-default-skin" 
        controls 
        preload="auto" 
        width="640" 
        height="480"
        poster="preview.jpg" <!-- 视频封面图 -->
        data-setup="{}">
        <!-- 为不同浏览器提供不同格式的视频源 -->
        <source src="video.mp4" type='video/mp4'>
        <source src="video.webm" type='video/webm'>
        <source src="video.ogv" type='video/ogg'>
        <!-- 如果浏览器不支持 video 标签,显示此内容 -->
        <p class="vjs-no-js">
            要播放此视频,你需要启用 JavaScript,并安装支持 
            <a href="https://videojs.com/html5-video-support/" target="_blank">
                HTML5视频
            </a> 的浏览器。
        </p>
    </video>
    <!-- (可选) 引入 Video.js 库以获得更好的体验 -->
    <script src="https://vjs.zencdn.net/8.6.1/video.min.js"></script>
</body>
</html>
特性 Flash 视频播放器 (已淘汰) HTML5 视频播放器 (推荐)
技术 依赖 Adobe Flash Player 插件 使用浏览器原生 <video>
兼容性 差,现代浏览器已不支持 极好,所有现代浏览器都支持
安全性 低,漏洞多,已停止更新 高,由浏览器厂商持续维护
性能 较差,消耗资源多 优秀,硬件加速
移动端 完全不支持 完全支持
代码 复杂,需要<object>/<embed>或SWFObject 简单,直接使用<video>
视频格式 主要为 FLV MP4, WebM, Ogg 等

请立即停止使用Flash,并将所有视频内容迁移到HTML5标准。 这不仅是对用户负责,也是确保您的网站长期稳定运行的最佳实践。