html+JavaScript的媒体元素

news2025/3/1 18:08:45
<video src="conference.mpg" id="myVideo">Video player not available.</video> 
<!-- 嵌入音频 --> 
<audio src="song.mp3" id="myAudio">Audio player not available.</audio>

-   属性

     每个元素至少要求有一个 src 属性,以表示要加载的媒体文件。我们也可以指定表示视频播放器大 小的 width height 属性,以及在视频加载期间显示图片 URI poster 属性。另外,ontrols 属性如果存在,则表示浏览器应该显示播放界面,让用户可以直接控制媒体。开始和结束标签之间的内 容是在媒体播放器不可用时显示的替代内容。
        由于浏览器支持的媒体格式不同,因此可以指定多个不同的媒体源。为此,需要从元素中删除 src属性,使用一个或多个 <source> 元素代替,如下面的例子所示:
 <!-- 嵌入视频 -->
    <video id="myVideo">
        <source src="conference.webm" type="video/webm; codecs='vp8, vorbis'">
        <source src="conference.ogv" type="video/ogg; codecs='theora, vorbis'">
        <source src="conference.mpg">
        Video player not available.
    </video>
    <!-- 嵌入音频 -->
    <audio id="myAudio">
        <source src="song.ogg" type="audio/ogg">
        <source src="song.mp3" type="audio/mpeg">
        Audio player not available.
    </audio>
    讨论不同音频

<video> <audio> 元素提供了稳健的 JavaScript 接口。这两个元素有很多共有属性,可以用于确
定媒体的当前状态,如下表所示。

- 事件

        除了有很多属性,媒体元素还有很多事件。这些事件会监控由于媒体回放或用户交互导致的不同属 性的变化。下表列出了这些事件

 - 自定义媒体播放器

        使用<audio>和 <video> play() pause() 方法,可以手动控制媒体文件的播放。综合使用属
性、事件和这些方法,可以方便地创建自定义的媒体播放器,如下面的例子所示:
<body>
<div id="">
    <!-- 嵌入视频 -->
    <div class="mediaplayer">
        <div class="video">
            <video height="200" id="player" poster="mymovie.jpg"
                   src="movie.mov" width="300">
                Video player not available.
            </video>
        </div>
        <div class="controls">
            <input id="video-btn" type="button" value="Play">
            <span id="curtime">0</span>/<span id="duration">0</span>
        </div>
    </div>
</div>
</body>
<script>
    // 取得元素的引用
    let player = document.getElementById("player"),
        btn = document.getElementById("video-btn"),
        curtime = document.getElementById("curtime"),
        duration = document.getElementById("duration");
    // 更新时长
    duration.innerHTML = player.duration;
    // 为按钮添加事件处理程序
    btn.addEventListener("click", (event) => {
        if (player.paused) {
            player.play();
            btn.value = "Pause";
        } else {
            player.pause();
            btn.value = "Play";
        }
    });
    // 周期性更新当前时间
    setInterval(() => {
        curtime.innerHTML = player.currentTime;
    }, 250);
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【蓝桥杯日记】第一篇——系统环境的搭建

目录 前言 环境相关文件 学生机环境-Web应用开发环境&#xff08;第十五届大赛&#xff09; 学生机环境-Java编程环境&#xff08;第十五届大赛&#xff09; 学生机环境-C/C编程环境&#xff08;第十五届大赛&#xff09; 学生机环境-Python编程环境 &#xff08;第十五届…

JavaScript深拷贝与浅拷贝的全面解析

&#x1f9d1;‍&#x1f393; 个人主页&#xff1a;《爱蹦跶的大A阿》 &#x1f525;当前正在更新专栏&#xff1a;《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ 目录 ✨ 前言 ✨ 正文 浅拷贝 对象的浅拷贝 数组的浅拷贝 浅拷贝的问题 深拷贝 什么是深拷贝…

Windows+Qt5.14.2+android x86配置与处理adb报错

资源下载 可在部分国内镜像源下载Qt5.14.2&#xff1a;Index of /qt/archive/qt/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror其他工具 android studio:下载 Android Studio 和应用工具 - Android 开发者 | Android Developerssdk manager 、ndk、java 安装过…

C语言实现俄罗斯方块游戏程序设计【附源码】

目录 一、前言 二、需求分析 2.1 产品需求概述 2.1.1 功能简介 2.1.2 运行环境 2.2 功能需求 2.2.1 绘制地图 2.2.2 生成随机方块 2.2.3 按键响应 2.2.4 预览方块 2.2.5 分数累加 三、概要设计 3.1 系统体系结构图 3.2 模块描述 四、详细设计 4.1 系统主要函数…

【WPF.NET开发】流文档

本文内容 什么是流文档&#xff1f;流文档类型创建流内容与流相关的类内容架构自定义文本 流文档旨在优化查看和可读性。 流文档根据运行时变量&#xff08;例如&#xff0c;窗口大小、设备分辨率和可选的用户首选项&#xff09;来动态调整和重新排列内容&#xff0c;而不是设…

python入门,数据容器:set集合

set最大的特点就是不支持重复元素&#xff0c;可以进行元素的去重处理&#xff0c;但不有序&#xff0c;不保证元素顺序正确 所以就不能使用下标索引的访问 1.集合的定义 集合的定义使用的是大括号{ } 对ok这个字符串进行了去重 2.add添加新元素 3.remove移除元素 4.pop随机…

redis(14):缓存雪崩、击穿、穿透及其处理方式

1 Redis 缓存过程 通常后端会采用Mysql等磁盘数据库,可以持久化但是访问慢,高并发时性能差,需要设置Nosql内存型数据库缓存:Redis等; Redis 数据库运行在内存中,因此他的查询速度比 MySql 快的多。所以我们会把一些用户经常查询的数据放在 Redis 中,当 Redis 有的时候…

简单高效 LaTeX 科学排版 第004集 命令与环境

这是《简单高效LaTeX》的第四个视频&#xff0c;主要演示讨论基本命令与排版环境&#xff0c;还有保留字符。 视频地址&#xff1a;https://www.ixigua.com/7298100920137548288?id7298102807985390120&logTagf853f23a668f8a2ee405

将 OpenCV Java 与 Eclipse 结合使用

配置 Eclipse 首先&#xff0c;从下载页面获取 OpenCV 的新版本&#xff0c;并将其解压缩到一个简单的位置&#xff0c;例如 .我使用的是 2.4.6 版&#xff0c;但其他版本的步骤或多或少相同。C:\OpenCV-2.4.6\ 现在&#xff0c;我们将 OpenCV 定义为 Eclipse 中的用户库&…

美颜技术详解:美颜SDK与直播平台集成

如今&#xff0c;美颜技术成为了吸引用户的一项重要功能。本篇文章&#xff0c;小编将深入讲解美颜技术&#xff0c;重点关注美颜SDK的原理以及如何将其无缝集成到直播平台中&#xff0c;为用户提供更加优质的视觉体验。 一、美颜技术概述 美颜技术的应用范围广泛&#xff0c…

DrissionPage获取浏览器Network数据包

DrissionPage是什么&#xff1f; GitHub - g1879/DrissionPage: 基于python的网页自动化工具。既能控制浏览器&#xff0c;也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大&#xff0c;内置无数人性化设计和便捷功能。语法简洁而优雅&#xff0c;代码…

【C++入门到精通】智能指针 [ C++入门 ]

阅读导航 引言一、什么是智能指针二、为什么需要智能指针三、内存泄漏1. 什么是内存泄漏&#xff0c;内存泄漏的危害2. 内存泄漏的示例&#xff0c;以及解决方法3. 内存泄漏分类&#xff08;1&#xff09;堆内存泄漏(Heap leak)&#xff08;2&#xff09;系统资源泄漏 4. 如何检…

Nginx配置动静分离实例(Nginx处理静态资源)

Nginx动静分离概述 Nginx 动静分离是指动态请求跟静态请求分开&#xff0c;可以理解为使用Nginx处理静态页面&#xff08;包含静态资源文件&#xff09;&#xff0c;Tomcat处理动态页面&#xff1b; 提醒一下&#xff1a;下面实例讲解是在Mac系统演示的&#xff1b; 两个方式…

恢复 iPhone 和 iPad 数据的 10 个好工具 - [苹果数据恢复]

它发生了.. 有时您需要从您的手机或平板设备恢复重要数据。 许多人已经开始将重要文件存储在手机上&#xff0c;因为他们几乎可以在任何情况下随时随地轻松访问数据。 不言而喻; 您可以轻松访问您的电子邮件、共享图片、编辑和共享文档、支付账单等等&#xff0c;只需在您的手…

【k8s】Kubernetes 声明式 API、命令式

1. 资源管理方式&#xff1a; 1>. 命令式对象管理∶直接使用命令去操作kubernetes资源 kubectl run nginx-pod --imagenginx:1.17.1 --port802>. 命令式对象配置∶通过命令配置和配置文件去操作kubernetes资源 kubectl create/patch -f nginx-pod.yaml3>. 声明式对…

win10重新安装Windows应用商店

安装Windows 终端 用 PowerShell 重装 Microsoft Store使用 MSIX 包重装 Microsoft Store下载安装包及依赖下载Windows 应用商店的安装包安装包是依赖组件包 微软应用商店无法连接网络解决办法 参考&#xff1a; wind10自带的终端程序和powerShell 真是太垃圾了&#xff0c; 突…

简单高效LaTeX 科学排版 第005集 导言区和文档输出

导言区是LaTeX文档的前导重要部分&#xff0c;这个视频讨论了建立导言区的方法&#xff0c;并且讨论了LaTeX文档的输出。 视频链接&#xff1a;https://www.ixigua.com/7298100920137548288?id7303715340075139622&logTag6eb24f453fe9fe617a61

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《与新能源互补和独立参加多级市场的抽蓄电站容量分配策略》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到抽蓄电站在能源系统中的角色&#xff0c;特别是在多级市场中的参与&#xff0c;并强调了新能源的互补性以及抽蓄电站的独立性。下面我将…

领域驱动设计应用之WebAPI

领域驱动设计应用之WebAPI 此篇文章主要讲述领域驱动设计在WebApi中的应用&#xff0c;以及设计方式&#xff0c;这种设计的原理以及有点。 文章目录 领域驱动设计应用之WebAPI前言一、相对于传统设计模式的有点二、WebAPI对接中的使用案例业务拆分父类设计HttpResponse(返回)…

计算机三级(网络技术)一综合题(IP地址计算)

例题一 &#xff08;正常算&#xff09; 计算并填写下表 地址类别 A类地址段是1.0.0.0~127.255.255.255 1~127 B类地址段是128.0.0.0~191.255.255.255 128~191 C类地址段是192.0.0.0~223.255.255.255 192~223 所以41填A 网络地址为主机位全0 根据子网掩码&…