×
¥
查看详情
🔥 会员专享 文生文 其它

视频嵌入代码生成器

👁️ 93 次查看
📅 Dec 4, 2025
💡 核心价值: 本提示词专为网页开发者设计,可快速生成符合现代网页标准的视频嵌入HTML代码。通过智能解析视频源参数,自动适配响应式布局与跨浏览器兼容性,支持自定义播放器控件与预览图设置。输出代码严格遵循W3C标准,包含完整的ARIA无障碍访问支持,可无缝集成到各类网页项目中,显著提升视频嵌入开发效率与代码质量。

🎯 可自定义参数(8个)

视频源地址
视频文件的网络地址或本地路径
播放器宽度
播放器宽度设置,支持像素或百分比单位
播放器高度
播放器高度设置,支持像素或百分比单位
控件显示
是否显示视频播放控制条
自动播放
是否在页面加载后自动播放视频
静音设置
是否默认静音播放
循环播放
是否循环播放视频
预览图像
视频播放前显示的预览图像地址

🎨 效果示例

代码说明

  • 使用原生 HTML5 video 元素,配置 autoplay、muted、loop、playsinline 以满足移动端自动播放策略,同时隐藏原生控件(不添加 controls)。
  • 响应式方案:video 宽度 100%、高度自适应,容器可选使用 aspect-ratio 降低布局位移;不依赖私有前缀。
  • 无障碍与交互:提供可聚焦的视频区域与键盘交互(Space/Enter 切换播放),并在自动播放失败或用户偏好减少动态时显示可访问的“点击播放”覆盖按钮;提供隐藏描述文本,提升读屏器体验。
  • 性能优化:预加载仅元数据(preload="metadata"),使用 poster 提升首屏感受;当自动播放失败时才与用户交互。
  • 兼容性:iOS Safari 通过 playsinline 与 muted 确保自动播放尽可能可行;回退文本和下载链接用于旧浏览器降级。

HTML代码块

<section class="video-wrapper" aria-label="品牌介绍视频">
  <video
    id="brandVideo"
    class="video"
    preload="metadata"
    poster="https://media.example.com/posters/brand-intro.jpg"
    autoplay
    muted
    loop
    playsinline
    aria-describedby="brandVideoDesc"
    aria-label="品牌介绍视频,自动播放且静音"
  >
    <source src="https://media.example.com/videos/brand-intro.mp4" type="video/mp4" />
    您的浏览器不支持 HTML5 视频。您可以
    <a href="https://media.example.com/videos/brand-intro.mp4">下载视频</a>
    进行观看。
  </video>

  <!-- 无障碍描述(屏幕阅读器可读) -->
  <div id="brandVideoDesc" class="sr-only">
    本视频默认自动播放且静音。按空格键或回车键可暂停/播放。
  </div>

  <!-- 覆盖式交互按钮:仅在自动播放失败或用户偏好减少动态时显示 -->
  <button
    class="video-overlay"
    type="button"
    aria-controls="brandVideo"
    aria-label="播放视频"
    hidden
  >
    点击播放
  </button>

  <noscript>
    您的浏览器未启用 JavaScript。若无法自动播放,请
    <a href="https://media.example.com/videos/brand-intro.mp4">点击观看视频</a>。
  </noscript>
</section>

<script>
  (function () {
    var video = document.getElementById('brandVideo');
    var overlay = document.querySelector('.video-overlay');

    // 双重保证静音,提升移动端自动播放成功率
    video.muted = true;

    // 优先尊重用户减少动态偏好:禁用自动播放,显示交互按钮
    var prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)');
    function showOverlay(label) {
      if (label) overlay.textContent = label;
      overlay.hidden = false;
    }
    function hideOverlay() {
      overlay.hidden = true;
    }

    function tryAutoplay() {
      // 如果用户偏好减少动态,则不自动播放
      if (prefersReducedMotion.matches) {
        video.removeAttribute('autoplay');
        showOverlay('点击播放');
        return;
      }
      // 尝试自动播放
      var playPromise = video.play();
      if (playPromise && typeof playPromise.then === 'function') {
        playPromise.then(function () {
          hideOverlay();
        }).catch(function () {
          // 某些环境仍可能需要用户手势
          showOverlay('点击播放');
        });
      }
    }

    // 初始尝试
    if (document.readyState === 'complete' || document.readyState === 'interactive') {
      tryAutoplay();
    } else {
      document.addEventListener('DOMContentLoaded', tryAutoplay);
    }

    // 用户交互:点击覆盖按钮或视频本身切换播放
    function togglePlayback() {
      if (video.paused) {
        video.play().then(hideOverlay).catch(function () {
          showOverlay('点击播放');
        });
      } else {
        video.pause();
        showOverlay('点击播放');
      }
    }
    overlay.addEventListener('click', togglePlayback);
    video.addEventListener('click', togglePlayback);

    // 键盘支持:Space/Enter 切换播放
    video.setAttribute('tabindex', '0');
    video.addEventListener('keydown', function (e) {
      if (e.key === ' ' || e.key === 'Enter') {
        e.preventDefault();
        togglePlayback();
      }
    });

    // 状态联动
    video.addEventListener('play', hideOverlay);
    video.addEventListener('pause', function () { showOverlay('点击播放'); });
    video.addEventListener('ended', function () {
      // 循环播放开启时,ended 不会停留;关闭循环时可提示“重新播放”
      if (!video.loop) showOverlay('重新播放');
    });

    // 错误处理
    video.addEventListener('error', function () {
      showOverlay('视频加载失败');
    });

    // 监听用户偏好变更
    if (prefersReducedMotion.addEventListener) {
      prefersReducedMotion.addEventListener('change', tryAutoplay);
    }
  })();
</script>

样式配置

/* 容器:全宽自适应,可选 aspect-ratio 降低布局位移(按需调整或移除) */
.video-wrapper {
  position: relative;
  width: 100%;
  /* 可选:若已知视频比例,建议设置,减少布局抖动。例如 16/9: */
  /* aspect-ratio: 16 / 9; */
  background-color: #000;
}

/* 视频:填满容器宽度,高度按比例自适应 */
.video {
  display: block;
  width: 100%;
  height: auto;
  background-color: #000;
  outline: none;
}

/* 覆盖按钮:仅在需要交互时显示(自动播放失败或暂停) */
.video-overlay[hidden] {
  display: none !important;
}
.video-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 0;
  border: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.35));
  color: #fff;
  font: 500 16px/1.2 system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  cursor: pointer;
}
.video-overlay:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -2px;
}

/* 屏幕阅读器可见、视觉隐藏的文本 */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* 可选:在小屏上微调按钮字号 */
@media (max-width: 480px) {
  .video-overlay { font-size: 14px; }
}

使用说明

  • 部署方法
    • 将 HTML、CSS 与脚本按上述结构粘贴到页面中;建议将样式置于站点样式表或放在中,以避免 FOUC。
    • 视频源为 MP4(H.264/AAC)标准格式,已满足现代浏览器兼容性需求。
  • 参数调整
    • 宽度/高度:本方案已是 width: 100%、height: auto 的响应式;如已知视频比例,可在 .video-wrapper 上启用 aspect-ratio: 宽/高 进一步减少布局位移。
    • 自动播放/静音/循环:对应 video 元素上的 autoplay、muted、loop;当前已启用。若需关闭,移除相应属性即可。
    • 预览图:修改 poster 属性链接为目标图像。
    • 控件显示:已隐藏原生控件。保留了轻量交互(点击视频/覆盖按钮、键盘 Space/Enter 切换播放)以满足可访问性;如需完全禁用交互,移除覆盖按钮与相关脚本,但不建议这样做。
  • 无障碍建议
    • 如有字幕文件,建议添加 WebVTT 字幕轨道:
    • 保留 aria-label、aria-describedby 与键盘交互,提升可达性。
  • 兼容性说明
    • iOS Safari 要求 playsinline 与 muted 才能在非全屏下自动播放,代码已配置。
    • 若某些环境仍阻止自动播放,将显示覆盖按钮提示用户点击播放。
  • 性能建议
    • 预加载设置为 metadata,减少初次加载开销;将视频托管在支持 Range 请求的服务器,以便分段加载与拖动。
    • 若页面存在多段视频,建议仅对首屏视频使用 autoplay,其余在进入视口后再播放(可结合 IntersectionObserver 实现)。

代码说明

  • 使用原生 HTML5 video 标签,配置 controls、preload、poster、playsinline 等常用属性,满足桌面与移动端播放需求。
  • 采用响应式容器 + 固定 16:9 比例(由 800×450 推导)实现自适应布局:在支持 aspect-ratio 的现代浏览器中原生约束比例;对老旧浏览器提供 padding-top 56.25% 的降级方案。
  • 提供无障碍语义:采用 figure/figcaption,配合 aria-describedby,键盘可聚焦并有可见焦点样式。
  • 兼容性与体验:设置 preload="metadata" 优化首屏加载,提供 poster 预览图;在不支持
  • 可扩展性:通过 CSS 易于调整最大宽度与样式;如需多格式(webm)或字幕轨(track)可按“使用说明”扩展。

HTML代码块

<!-- 响应式 HTML5 视频组件:16:9,最大宽度 800px -->
<figure class="video-player" role="group" aria-labelledby="caption-lesson1">
  <div class="video-viewport">
    <video
      id="video-lesson1"
      class="video-element"
      controls
      preload="metadata"
      poster="https://media.example.com/posters/lesson1-setup.jpg"
      playsinline
      width="800"
      height="450"
      aria-describedby="caption-lesson1">
      <source src="https://media.example.com/courses/lesson1-setup.mp4" type="video/mp4">
      您的浏览器不支持 HTML5 视频。您可以
      <a href="https://media.example.com/courses/lesson1-setup.mp4" download>下载该视频</a> 查看。
    </video>
  </div>
  <figcaption id="caption-lesson1">课程视频:Lesson 1 - Setup</figcaption>
</figure>

样式配置

/* 容器:限制最大宽度并保持居中 */
.video-player {
  max-width: 800px; /* 与播放器宽度参数一致,可按需调整 */
  margin: 1rem auto;
}

/* 视口:保持 16:9 比例,黑色背景 */
.video-viewport {
  position: relative;
  width: 100%;
  background: #000;
  aspect-ratio: 16 / 9; /* 由 800x450 推导 */
}

/* 兼容不支持 aspect-ratio 的旧浏览器 */
@supports not (aspect-ratio: 16 / 9) {
  .video-viewport {
    height: 0;
    padding-top: 56.25%; /* 9 / 16 = 0.5625 */
  }
  .video-viewport > .video-element {
    position: absolute;
    inset: 0;
  }
}

/* 视频填充策略与可访问焦点样式 */
.video-element {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain; /* 保持完整画面 */
  background: #000;
  /* 在支持 aspect-ratio 的情况也覆盖为绝对定位,可省略。
     若希望统一行为,可取消注释下面两行:
  position: absolute;
  inset: 0;
  */
}

.video-element:focus-visible {
  outline: 2px solid #0a84ff;
  outline-offset: 2px;
}

.video-player figcaption {
  font-size: 0.95rem;
  line-height: 1.4;
  color: #555;
  margin-top: 0.5rem;
}

使用说明

  • 基本参数映射

    • 源视频:
    • 封面图:poster="https://media.example.com/posters/lesson1-setup.jpg"
    • 控件:controls 已启用
    • 自动播放:未启用(autoplay 未设置)
    • 静音:未启用(muted 未设置)
    • 循环:未启用(loop 未设置)
    • 尺寸与比例:视频元素 width="800" height="450";CSS 最大宽度 max-width: 800px;响应式自适应至容器宽度
  • 部署与调整

    • 将 HTML 片段插入你的页面主体位置,并引入上方 CSS。
    • 修改播放器最大宽度:调整 .video-player 的 max-width 值,例如 960px。
    • 修改长宽比:若更换为其他比例(如 4:3),同步修改
      • .video-viewport 的 aspect-ratio: 4 / 3
      • 兼容样式中的 padding-top: 75%(= 3/4)
      • video 标签的 width/height 属性(用于无样式或极老旧环境)
    • 性能优化:若希望更快首帧可将 preload 改为 "auto";若追求更小首屏体积可改为 "none"。
  • 跨浏览器与移动端注意

    • iOS Safari 内联播放已通过 playsinline 启用。
    • 如需启用自动播放,受浏览器策略限制建议同时添加 muted 属性:<video autoplay muted playsinline ...>。
    • 服务器需正确返回 MIME 类型和分段支持:
      • Content-Type: video/mp4
      • Accept-Ranges: bytes(支持拖动进度)
    • 若需要更广兼容性,可提供额外格式作为备选源(例如 WebM):
      • 在现有 前添加 ,浏览器会自动选择支持的第一项。
  • 无障碍与字幕

    • 已使用 figure/figcaption 与 aria-describedby 提升可读性。可将 figcaption 文案改为更具体的课程标题。
    • 如有字幕文件(WebVTT),在

代码说明

  • 采用原生 HTML5 video 标签,启用控件、自动播放、静音与移动端内联播放(playsinline),满足主流浏览器的自动播放策略要求。
  • 使用自适应容器实现响应式:小屏以 16:9 等比自适应显示,大屏固定高度为 360px,宽度始终 100%。
  • 提供 poster 预览图,提升首屏体验;preload 设置为 auto 以配合自动播放更快启动。
  • 无障碍与兼容性:添加 aria-label;保留文本与下载链接作为降级方案;可按需增补 WebVTT 字幕轨道。
  • 不依赖任何外部库与私有前缀,保证跨浏览器可用性和可复制部署。

HTML代码块

<!-- 产品演示视频模块 -->
<div class="video-wrap" role="region" aria-label="产品演示视频">
  <video
    id="product-video"
    class="responsive-video"
    controls
    autoplay
    muted
    playsinline
    preload="auto"
    poster="https://media.example.com/posters/app-walkthrough.jpg"
    aria-label="产品演示视频:App Walkthrough"
  >
    <source src="https://media.example.com/demos/app-walkthrough.mp4" type="video/mp4">
    <!-- 如有字幕文件(WebVTT),可启用以下轨道 -->
    <!-- <track kind="captions" srclang="zh" src="PATH/TO/captions.zh.vtt" label="中文字幕" default> -->

    您的浏览器不支持 HTML5 视频。您可以
    <a href="https://media.example.com/demos/app-walkthrough.mp4" download>下载视频</a>
    进行观看。
  </video>
</div>

样式配置

/* 外层容器:自适应宽度,黑色背景避免空白 */
.video-wrap {
  position: relative;
  width: 100%;
  background: #000;
  /* 小屏默认使用 16:9 比例盒 */
}
.video-wrap::before {
  content: "";
  display: block;
  /* 16:9 比例:9 / 16 = 56.25% */
  padding-top: 56.25%;
}

/* 视频填充容器 */
.video-wrap > .responsive-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain; /* 保持完整显示,避免裁切 */
  background-color: #000;
}

/* 中大屏固定高度 360px,宽度 100% */
@media (min-width: 601px) {
  .video-wrap {
    height: 360px;
  }
  .video-wrap::before {
    display: none;
    padding-top: 0;
  }
}

使用说明

  • 基本部署
    • 将 HTML 代码插入到需要展示视频的位置,将 CSS 加入项目样式文件或页面

      🕒 版本历史

      当前版本
      v2.1 2024-01-15
      优化输出结构,增强情节连贯性
      • ✨ 新增章节节奏控制参数
      • 🔧 优化人物关系描述逻辑
      • 📝 改进主题深化引导语
      • 🎯 增强情节转折点设计
      v2.0 2023-12-20
      重构提示词架构,提升生成质量
      • 🚀 全新的提示词结构设计
      • 📊 增加输出格式化选项
      • 💡 优化角色塑造引导
      v1.5 2023-11-10
      修复已知问题,提升稳定性
      • 🐛 修复长文本处理bug
      • ⚡ 提升响应速度
      v1.0 2023-10-01
      首次发布
      • 🎉 初始版本上线
      COMING SOON
      版本历史追踪,即将启航
      记录每一次提示词的进化与升级,敬请期待。

      💬 用户评价

      4.8
      ⭐⭐⭐⭐⭐
      基于 28 条评价
      5星
      85%
      4星
      12%
      3星
      3%
      👤
      电商运营 - 张先生
      ⭐⭐⭐⭐⭐ 2025-01-15
      双十一用这个提示词生成了20多张海报,效果非常好!点击率提升了35%,节省了大量设计时间。参数调整很灵活,能快速适配不同节日。
      效果好 节省时间
      👤
      品牌设计师 - 李女士
      ⭐⭐⭐⭐⭐ 2025-01-10
      作为设计师,这个提示词帮我快速生成创意方向,大大提升了工作效率。生成的海报氛围感很强,稍作调整就能直接使用。
      创意好 专业
      COMING SOON
      用户评价与反馈系统,即将上线
      倾听真实反馈,在这里留下您的使用心得,敬请期待。
加载中...
📋
提示词复制
在当前页面填写参数后直接复制: