uniapp使用视频地址获取视频封面

这篇具有很好参考价值的文章主要介绍了uniapp使用视频地址获取视频封面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很多时候我们都需要使用视频的第一帧当作视频的封面,今天我们从uni-app的安卓app这个环境来实现下这个需求。文中需要你对uniapp的renderjs有一定了解,可以先看我的这篇文章初识renderjs

uniapp 安卓APP端(ios未测试)

方法:使用renderjs实现对DOM元素的操作,创建video元素获取视频转第一帧,使用canvas转为base64格式进行展示

<template>
	<video :src="src" :poster="poster" :change:src="video.setPoster"></video>
</template>

<script>
	export default {
		data() {
			return {
				poster: '',
				src: 'https://oss-p56.xpccdn.com/prod/footage/preview/xpc/HHMFcJlnHMS3TBj.mp4'
			}
		},
		methods: {
			getPoster(poster) {
				this.poster = poster
			}
		}
	}
</script>
<script lang="renderjs" module="video">
	export default {
		methods: {
			setPoster(newV, oldV, ownerInstance) {
				let video = document.createElement("video");
				video.setAttribute('crossOrigin', 'anonymous'); //处理跨域
				video.setAttribute('src', newV);
				video.setAttribute('width', 1000);
				video.setAttribute('height', 500);
				// 表示可以下载整个视频文件,即使用户不希望使用它。这样才能获取到视频文件
				video.setAttribute('preload', 'auto');
				// loadeddata 事件在媒体当前播放位置的视频帧(通常是第一帧)加载完成后触发。
				video.addEventListener('loadeddata', function() {
					let canvas = document.createElement("canvas"),
					width = video.width, //canvas的尺寸和图片一样
					height = video.height;
					canvas.width = width;
					canvas.height = height;
					canvas.getContext("2d").drawImage(video, 0, 0, width, height); //绘制canvas
					let poster = canvas.toDataURL('image/jpeg'); //转换为base64
					ownerInstance.callMethod('getPoster', poster)
				});
			}
		}
	}
</script>

展示

uniapp使用视频地址获取视频封面,uniapp,音视频,面试文章来源地址https://www.toymoban.com/news/detail-643058.html

到了这里,关于uniapp使用视频地址获取视频封面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows配置编译ffmpeg +音视频地址

    Windows配置MinGW及MinGW-make使用实例 https://blog.csdn.net/Henoiiy/article/details/122550618 ffmpeg安装遇错:nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. https://blog.csdn.net/sayyy/article/details/124337834https://blog.csdn.net/sayyy/article/details/124337834 详细的FFmpeg编译流程与脚本分析https://zhuanla

    2024年02月12日
    浏览(34)
  • 学习笔记/音视频面试

    1.DTS/PTS 如果没有B帧,那么DTS一般与PTS相同 DTS(Decoding Time Stamp):即解码时间戳,这个时间戳的意义在于告诉播放器该在什么时候解码这一帧的数据。(解码I-P-B) PTS(Presentation Time Stamp):即显示时间戳,这个时间戳用来告诉播放器该在什么时候显示这一帧的数据。 2.GOP 就是将

    2023年04月12日
    浏览(31)
  • Python获取音视频时长

    上代码:获取音视频时长.py pyinstaller -F 获取音视频时长.py 链接:https://pan.baidu.com/s/1WvsMyPHD3iFsM844gfC2Jg?pwd=yyds

    2024年02月15日
    浏览(30)
  • uniapp 上传视频到阿里云之后回显视频获取视频封面

    1.initial-time Number 指定视频初始播放位置,单位为秒(s)。 没什么卵用 2.使用 uni.createVideoContext(“myVideo”, this).seek(number)。 没什么卵用 t_1000 等于截取视频第 1秒作为封面

    2024年04月11日
    浏览(26)
  • 声网 Agora音视频uniapp插件跑通详解

    在使用声网SDK做音视频会议开发时, 通过声网官方论坛 了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。 插件地址如下: Agora音视频插件 Agora音视频插件(JS) 本文讲解如何跑通演示示例

    2024年02月15日
    浏览(115)
  • FFmpeg基础:获取音视频的各种编码参数

    获取视频编码参数 视频编码参数主要包括:帧率、分辨率、编码格式、码率等,对应的概念如下。 帧率(Frame Rate) 每秒显示帧数(Frames Per Second)。电影的帧率一般是25fps和29.97fps,3D游戏要保持流畅则需要30fps以上的效果。 分辨率 指视频宽高的像素数值。标准1080P的分辨率为1920×

    2024年02月03日
    浏览(27)
  • MediaBox助力企业一站式获取音视频能力

    以一只音视频百宝箱,应对「千行千面」。 洪炳峰、楚佩斯| 作者 大家好,今天我分享的主题是MediaBox——行业音视频数字化再加速。 根据权威数据表明,65%的行业数字化信息来自视频,基于此,音视频技术对于行业数字化来说是至关重要的。今天我想借此机会向大家介绍

    2024年02月09日
    浏览(39)
  • 【声网】实现web端与uniapp微信小程序端音视频互动

    利用声网实现音视频互动 注册声网账号 进入Console 成功登录控制台后,按照以下步骤创建一个声网项目: 展开控制台左上角下拉框,点击 创建项目 按钮。 在弹出的对话框内,依次选择 项目类型 ,输入 项目名称 ,选择 场景标签 和 鉴权机制 。其中鉴权机制推荐选择 安全

    2024年04月27日
    浏览(37)
  • 视频格式网络地址转换视频到本地,获取封面、时长,其他格式转换成mp4

    使用ffmpeg软件转换网络视频,先从官网下载对应操作系统环境的包 注意:网络地址需要是视频格式结尾,例如.mp4,.flv 等 官网地址:Download FFmpeg      window包: linux包: 如果下载缓慢,下载迅雷安装使用下载。 解压缩后对应截图: window: linux: 在maven项目的pom.xml引入依赖包

    2024年02月03日
    浏览(28)
  • uniapp 小程序接入腾讯实时音视频trtc-wx

    环境要求 微信 App iOS 最低版本要求:7.0.9 微信 App Android 最低版本要求:7.0.8 小程序基础库最低版本要求:2.10.0 由于小程序测试号不具备 和 的使用权限,请使用企业小程序账号申请相关权限进行开发。 由于微信开发者工具不支持原生组件(即 和 标签),需要在真机上进行

    2024年02月11日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包