html 获取视频文件的宽高尺寸,怎么获取视频的宽度-解决方案

news2024/11/20 7:02:39

html代码

<video id="video" loop preload="auto" autoplay>
    <source src="1.mp4" type="video/mp4">
    您的浏览器不支持Video标签。
</video> 

js代码

 var video=document.querySelector("#video");//当前视频对象;  
video.onloadedmetadata=function(res){
                    console.log('媒介元素的持续时间以及其他媒介数据已加载时运行脚本:',res);  
                    //窗体
                    var window_Width=window.innerWidth;
                    var window_Height=window.innerHeight;  
                    console.log('窗体-宽度:',window_Width);
                    console.log('窗体-高度:',window_Height);
                    //原视频
                    var videoWidth=video.videoWidth;
                    var videoHeight=video.videoHeight; 
                    console.log('原视频-宽度:',videoWidth);
                    console.log('原视频-高度:',videoHeight);
                    //视频根据窗体自动缩放
                    //公式-等比例缩放后的高=(缩放后的宽度/原始宽度)*原始高度
                    var Box_videoWidth=window_Width;
                    var Box_videoHeight=(window_Width/videoWidth)*videoHeight; //缩放后的高度
                    console.log('视频缩放-宽度:',Box_videoWidth);
                    console.log('视频缩放-高度:',Box_videoHeight);  
                    var total_height=window_Height-(that.topTitle_height+that.footNav_height);//视频容器总高度
                    
                    console.log('视频容器最大高度应为:',total_height);
                    
                }

控制台输出

窗体-宽度: 375
窗体-高度: 667
原视频-宽度: 1920
原视频-高度: 1080
视频缩放-宽度: 375
视频缩放-高度: 210.9375
视频容器最大高度应为: 571


 

视频标签文档

HTML 音频/视频 DOM 参考手册

HTML 音频/视频 | 菜鸟教程

HTML 音频/视频 方法

方法描述
addTextTrack()向音频/视频添加新的文本轨道。
canPlayType()检测浏览器是否能播放指定的音频/视频类型。
load()重新加载音频/视频元素。
play()开始播放音频/视频。
pause()暂停当前播放的音频/视频。

HTML 音频/视频属性

 

属性描述
audioTracks返回表示可用音频轨道的 AudioTrackList 对象。
autoplay设置或返回是否在加载完成后随即播放音频/视频。
buffered返回表示音频/视频已缓冲部分的 TimeRanges 对象。
controller返回表示音频/视频当前媒体控制器的 MediaController 对象。
controls设置或返回音频/视频是否显示控件(比如播放/暂停等)。
crossOrigin设置或返回音频/视频的 CORS 设置。
currentSrc返回当前音频/视频的 URL。
currentTime设置或返回音频/视频中的当前播放位置(以秒计)。
defaultMuted设置或返回音频/视频默认是否静音。
defaultPlaybackRate设置或返回音频/视频的默认播放速度。
duration返回当前音频/视频的长度(以秒计)。
ended返回音频/视频的播放是否已结束。
error返回表示音频/视频错误状态的 MediaError 对象。
loop设置或返回音频/视频是否应在结束时重新播放。
mediaGroup设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)。
muted设置或返回音频/视频是否静音。
networkState返回音频/视频的当前网络状态。
paused设置或返回音频/视频是否暂停。
playbackRate设置或返回音频/视频播放的速度。
played返回表示音频/视频已播放部分的 TimeRanges 对象。
preload设置或返回音频/视频是否应该在页面加载后进行加载。
readyState返回音频/视频当前的就绪状态。
seekable返回表示音频/视频可寻址部分的 TimeRanges 对象。
seeking返回用户是否正在音频/视频中进行查找。
src设置或返回音频/视频元素的当前来源。
startDate返回表示当前时间偏移的 Date 对象。
textTracks返回表示可用文本轨道的 TextTrackList 对象。
videoTracks返回表示可用视频轨道的 VideoTrackList 对象。
volume设置或返回音频/视频的音量。

HTML 音频/视频事件

事件描述
abort当音频/视频的加载已放弃时触发。
canplay当浏览器可以开始播放音频/视频时触发。
canplaythrough当浏览器可在不因缓冲而停顿的情况下进行播放时触发。
durationchange当音频/视频的时长已更改时触发。
emptied当目前的播放列表为空时触发。
ended当目前的播放列表已结束时触发。
error当在音频/视频加载期间发生错误时触发。
loadeddata当浏览器已加载音频/视频的当前帧时触发。
loadedmetadata当浏览器已加载音频/视频的元数据时触发。
loadstart当浏览器开始查找音频/视频时触发。
pause当音频/视频已暂停时触发。
play当音频/视频已开始或不再暂停时触发。
playing当音频/视频在因缓冲而暂停或停止后已就绪时触发。
progress当浏览器正在下载音频/视频时触发。
ratechange当音频/视频的播放速度已更改时触发。
seeked当用户已移动/跳跃到音频/视频中的新位置时触发。
seeking当用户开始移动/跳跃到音频/视频中的新位置时触发。
stalled当浏览器尝试获取媒体数据,但数据不可用时触发。
suspend当浏览器刻意不获取媒体数据时触发。
timeupdate当目前的播放位置已更改时触发。
volumechange当音量已更改时触发。
waiting当视频由于需要缓冲下一帧而停止时触发。

HTML 事件属性-全局事件属性

HTML 事件 | 菜鸟教程

多媒体事件(Media Events)

属性描述
onabortscript当发生中止事件时运行脚本
oncanplayNewscript当媒介能够开始播放但可能因缓冲而需要停止时运行脚本
oncanplaythroughNewscript当媒介能够无需因缓冲而停止即可播放至结尾时运行脚本
ondurationchangeNewscript当媒介长度改变时运行脚本
onemptiedNewscript当媒介资源元素突然为空时(网络错误、加载错误等)运行脚本
onendedNewscript当媒介已抵达结尾时运行脚本
onerrorNewscript当在元素加载期间发生错误时运行脚本
onloadeddataNewscript当加载媒介数据时运行脚本
onloadedmetadataNewscript当媒介元素的持续时间以及其他媒介数据已加载时运行脚本
onloadstartNewscript当浏览器开始加载媒介数据时运行脚本
onpauseNewscript当媒介数据暂停时运行脚本
onplayNewscript当媒介数据将要开始播放时运行脚本
onplayingNewscript当媒介数据已开始播放时运行脚本
onprogressNewscript当浏览器正在取媒介数据时运行脚本
onratechangeNewscript当媒介数据的播放速率改变时运行脚本
onreadystatechangeNewscript当就绪状态(ready-state)改变时运行脚本
onseekedNewscript当媒介元素的定位属性 [1] 不再为真且定位已结束时运行脚本
onseekingNewscript当媒介元素的定位属性为真且定位已开始时运行脚本
onstalledNewscript当取回媒介数据过程中(延迟)存在错误时运行脚本
onsuspendNewscript当浏览器已在取媒介数据但在取回整个媒介文件之前停止时运行脚本
ontimeupdateNewscript当媒介改变其播放位置时运行脚本
onvolumechangeNewscript当媒介改变音量亦或当音量被设置为静音时运行脚本
onwaitingNewscript当媒介已停止播放但打算继续播放时运行脚本

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

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

相关文章

Unity 之 资源加载 -- 可寻址系统使用介绍 -- 入门(三)

可寻址系统设置面板使用介绍介绍 -- 入门&#xff08;三&#xff09;一&#xff0c;可寻址系统目录介绍二&#xff0c;可寻址系统面板介绍2.1 Groups - 资源组2.2 Settings - 设置2.3 Profiles - 配置文件2.4 Event Viewer - 事件查看器2.5 Analyze - 分析工具2.6 Hosting - 托…

springAOP的注解使用

注解使用导入依赖常用注解&#xff1a;注意&#xff0c;给测试类起名字的时候千万不要定义成Test&#xff0c;测试的方法不可以有参数&#xff0c;不可以有返回值在使用注解的时候&#xff0c;还需要告诉spring应该从哪个包开始扫描,一般在定义的时候都写上相同包的路径需要导入…

GitLab安装到实战

简介 关于gitlab的入门与实战&#xff0c;这里使用的是docker安装。2核4g的话不太行。 安装 由于这里我是学习环境,所以买的是抢占式&#xff0c;配置也不是很高。 购买服务器示例 Docker安装步骤 1.安装docker yum install -y docker 2.启动docker systemctl start doc…

【JavaEE】进程和线程

目录 1. 进程 1.1 PCB 1.1.1. PID 1.1.2. 内存指针 1.1.3. 文件描述符表 1.1.4.进程调度相关的属性 1.2 进程的虚拟地址空间 1.3 进程间的通信 2. 线程 2.1 线程与进程之间的联系 2.2 多线程与多进程 1. 进程 在了解线程之前&#xff0c;我们首先要了解进程&…

RHCE学习笔记-253-3

system monitoring Introduction to system monitoring security breaches or system malfunctions can be detected with regular system monitoring system monitoring includes: file system monitoring log file analysis process monitoring file system analysis 如果定期…

谷粒商城-基础篇-Day08-调试会员等级相关接口

在P83级中&#xff0c;点击发布商品时没有出现请求 则需要解决 PubSub is not definded这个问题 PubSub是用来检测选择分类的值变动的。 选择分类值变动&#xff0c;会请求后台接口&#xff0c;动态更新选择品牌的选项。 安装依赖 npm install --save pubsub-js&#xff08…

算法队伍的搭建

&#x1f31e;欢迎来到数据结构的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f64f;作者水平很有限&#xff0c;如果发现错误&#xff…

网络安全必备1000道面试题集锦(附答案)

前言 以下为网络安全各个方向涉及的面试题&#xff0c;星数越多代表问题出现的几率越大&#xff0c;祝各位都能找到满意的工作。 注&#xff1a;本套面试题&#xff0c;已整理成pdf文档&#xff0c;但内容还在持续更新中&#xff0c;因为无论如何都不可能覆盖所有的面试问题&a…

使用ResNet18实现CIFAR10数据集的训练

如果对你有用的话&#xff0c;希望能够点赞支持一下&#xff0c;这样我就能有更多的动力更新更多的学习笔记了。&#x1f604;&#x1f604; 使用ResNet进行CIFAR-10数据集进行测试&#xff0c;这里使用的是将CIFAR-10数据集的分辨率扩大到32X32&#xff0c;因为算力相关的…

Git使用详解(图文+代码):基础内容

基础内容前言版本控制本地版本控制系统集中化版本控制系统分布式控制系统Git使用详解Git基础理解Git基础指令取得项目的Git仓库记录每次更新的仓库检查当前文件状态跟踪文件暂存已修改文件忽略某些文件查看已暂存和未暂存的更新提交更新跳过使用暂存区域移除文件远程操作的使用…

熊市里再看GameFi,为什么说链游潜力巨大?

大方向上来看&#xff0c;区块链项目本质上分为两类&#xff0c;一类是金融资产属性的项目&#xff0c;比如我们常说的DeFi、DAO、公链等&#xff0c;另一类则具有娱乐艺术属性的&#xff0c;比如NFT、GameFi、元宇宙等&#xff0c;熊市环境下如何看待这两类项目&#xff0c;以…

【iOS】—— 初识GCD

GCD&#xff08;Grand Central Dispatch&#xff09; 文章目录GCD&#xff08;Grand Central Dispatch&#xff09;什么是GCDperformSelector方法&#xff1a;GCD的优点&#xff1a;任务和队列队列的创建方式任务的创建方法六种情况的例子1.并发队列 同步执行2. 并发队列 异步…

Vector - VT System - Ethernet板卡_VT6306

前面介绍了支持CAN&CANFD&LIN板卡&#xff0c;但是对于当前日益火爆的车载以太网来说&#xff0c;Vector也是提供了类似于VN5000系列一样的板卡&#xff0c;那就是VT6306。它给提供6路的百兆或者6路千兆的车载以太网&#xff08;2022年之前选择后是固定的&#xff0c;有…

央视点赞百度智能云激活民营经济”数字“活力

2023年&#xff0c;对民营企业究竟意味着什么。 2022年12月&#xff0c;新华社发表重磅长文解读中国经济发展大势&#xff1a;“迎接更加壮阔的光明前程”。 随后央视新闻联播连续4天发声&#xff0c;关注民营经济发展。4条新闻中&#xff0c;“创新”一词共出现了29次&#…

小程序的运行机制以及安全机制

接触小程序有一段时间了&#xff0c;总得来说小程序开发门槛比较低&#xff0c;但其中基本的运行机制和原理还是要懂的. 了解小程序的由来 在小程序没有出来之前&#xff0c;最初微信WebView逐渐成为移动web重要入口&#xff0c;微信发布了一整套网页开发工具包&#xff0c;称…

199:vue+openlayers 添加删除修改feature信息,双向不同颜色指示互动

第199个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中绘制多边形,每绘制一个,左侧输出一个feature指示标志,双向颜色互动指示。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果; 注意如果OpenStreetMap无法加载,请加载其他来练习 …

前缀和讲解

目录 一、前言 二、前缀和 1、基本概念 2、前缀和与差分的关系 3、差分数组能提升修改的效率 三、例题 1、统计子矩阵&#xff08;lanqiao2109&#xff0c;2022年省赛&#xff09; &#xff08;1&#xff09;处理输入 &#xff08;2&#xff09;方法一&#xff1a;纯暴…

设计模式面试题

工厂模式是我们最常用的实例化对象模式了&#xff0c;是用工厂方法代替new操作的一种模式,工厂模式在Java程序中可以说是随处可见。本文来给大家详细介绍下工厂模式 面向对象设计的基本原则&#xff1a; OCP&#xff08;开闭原则&#xff0c;Open-Closed Principle&#xff0…

字符串函数介绍——C语言

文章目录 一、引言 二、函数的介绍与模拟实现 2、1 求字符串长度strlen&#xff08;&#xff09;函数 2、1、1 strlen&#xff08;&#xff09;函数介绍 2、1、2 strlen&#xff08;&#xff09;函数的模拟实现 2、2 字符串拷贝strcpy&#xff08;&#xff09;函数 2、2、1 s…

「旷野俱乐部」在 The Sandbox 开业,SMCU 宫殿等你来体验!

简要概括 KWANGYAThe Sandbox 是「旷野俱乐部」在 The Sandbox 元宇宙中的虚拟空间&#xff1b; SMCU 宫殿体验呈现了 2022 年冬季 SM 小镇的视觉效果&#xff0c;SMCU 宫殿专辑封面将于 1 月 10 日發佈&#xff1b; 将向全球粉丝展示更多基于韩国文化内容的元宇宙体验。 The…