智能小程序 Ray 开发——媒体组件 Video 和 NativeVideo 实操讲解

video

导入

import { Video } from '@ray-js/ray';
import { createVideoContext } from '@ray-js/api';

视频

相关 API: createVideoContext

属性说明

属性类型默认值必填说明
srcstring要播放视频的资源地址,支持网络路径; 注意分区部署情况下,视频是否支持访问
durationnumber指定视频时长,单位秒 s
controlsbooleantrue是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
danmuListArray<{text,color,time}>弹幕列表
danmuBtnbooleanfalse是否显示弹幕按钮,只在初始化时有效,不能动态变更
enableDanmubooleanfalse是否展示弹幕,只在初始化时有效,不能动态变更
autoplaybooleanfalse是否自动播放
loopbooleanfalse是否循环播放
mutedbooleanfalse是否静音播放
initialTimenumber0指定视频初始播放位置
showFullscreenBtnbooleantrue是否显示全屏按钮
showPlayBtnbooleantrue是否显示视频底部控制栏的播放按钮
showCenterPlayBtnbooleantrue是否显示视频中间的播放按钮
object-fitstringcontain当视频大小与 video 容器大小不一致时,视频的表现形式
posterstring视频封面的图片网络资源地址
showMuteBtnbooleanfalse是否显示静音按钮
autoPausebooleantrue非可视区域是否自动暂停
borderRadiusnumber0指定视频 border-radius
onPlayeventhandle当开始/继续播放时触发 play 事件
onPauseeventhandle当暂停播放时触发 pause 事件
onEndedeventhandle当播放到末尾时触发 ended 事件
onTimeupdateeventhandle播放进度变化时触发,event.detail = {currentTime, duration} 。
onWaitingeventhandle视频出现缓冲时触发
onErroreventhandle视频播放出错时触发
onProgresseventhandle加载进度变化时触发,只支持一段加载。event.detail = {buffered},百分比
onLoadedmetadataeventhandle视频元数据加载完成时触发。event.detail = {width, height, duration}
onSeekcompleteeventhandlerseek 完成时触发 (position iOS 单位 s, Android 单位 ms)
object-fit 的合法值
说明
contain包含
fill填充
cover覆盖

Bug & Tip

tip:video 默认宽度 300px、高度 225px,可通过 tyss 设置宽高。

tip:video 支持三种视频格式:MP4、WebM、Ogg。

  • MP4 = MPEG 4 文件使用 H264 视频编解码器和 AAC 音频编解码器
  • WebM = WebM 文件使用 VP8 视频编解码器和 Vorbis 音频编解码器
  • Ogg = Ogg 文件使用 Theora 视频编解码器和 Vorbis 音频编解码器

常见问题(FAQ)

如何获取视频播放进度?

可通过onTimeupdate 获取视频播放时长。

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。 

NativeVideo

基础库 2.5.0 开始支持, 低版本需做兼容处理。

导入

import { NativeVideo } from '@ray-js/ray';
import { createNativeVideoContext } from '@ray-js/api';

视频。

相关 API: createNativeVideoContext。这是基于异层渲染的原生组件, 请注意 原生组件使用限制。

属性说明

属性类型默认值必填说明
srcstring要播放视频的资源地址,支持网络路径; 注意分区部署情况下,视频是否支持访问
durationnumber指定视频时长,单位秒 s
controlsbooleantrue是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
autoplaybooleanfalse是否自动播放
loopbooleanfalse是否循环播放
mutedbooleanfalse是否静音播放
initialTimenumber0指定视频初始播放位置
showFullscreenBtnbooleantrue是否显示全屏按钮
showPlayBtnbooleantrue是否显示视频底部控制栏的播放按钮
showCenterPlayBtnbooleantrue是否显示视频中间的播放按钮
objectFitstringcontain当视频大小与 video 容器大小不一致时,视频的表现形式
posterstring视频封面的图片网络资源地址
showMuteBtnbooleanfalse是否显示静音按钮
borderWidthnumber0边框的宽度, 单位 px
borderStylestringsolid边框的样式, 可选值: solid 和 dashed
borderColorstring#ffffff边框的颜色, 必须为十六进制格式
borderRadiusnumber0边框的圆角, 单位 px
borderRadiusTopLeftnumber边框的左上角圆角大小, 单位 px
borderRadiusTopRightnumber边框的右上角圆角大小, 单位 px
borderRadiusBottomLeftnumber边框的左下角圆角大小, 单位 px
borderRadiusBottomRightnumber边框的右下角圆角大小, 单位 px
backgroundColorstring#ffffff背景颜色, 必须为十六进制格式
onPlayeventhandle当开始/继续播放时触发 play 事件
onPauseeventhandle当暂停播放时触发 pause 事件
onEndedeventhandle当播放到末尾时触发 ended 事件
onTimeupdateeventhandle播放进度变化时触发,event.detail = {currentTime, duration} 。
onFullscreenchangeeventhandle视频进入和退出全屏时触发,event.detail = {fullScreen, direction},direction 有效值为 vertical 或 horizontal
onWaitingeventhandle视频出现缓冲时触发
onErroreventhandle视频播放出错时触发
onProgresseventhandle加载进度变化时触发,只支持一段加载。event.detail = {buffered},百分比
onLoadedmetadataeventhandle视频元数据加载完成时触发。event.detail = {width, height, duration}
onControlstoggleeventhandle切换 controls 显示隐藏时触发。event.detail = {show}
onSeekcompleteeventhandlerseek 完成时触发 (position iOS 单位 s, Android 单位 ms)
object-fit 的合法值
说明
contain包含
fill填充
cover覆盖

Bug & Tip

  1. tip:native-video 默认宽度 300px、高度 225px,可通过 tyss 设置宽高。
  2. tip:相关原理请参考 基于异层渲染的原生组件。
  3. tip:请注意 原生组件使用限制。
  4. tip:native-video 支持三种视频格式:MP4。
  • MP4 = MPEG 4 文件使用 H264 视频编解码器和 AAC 音频编解码器

👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。 

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

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

相关文章

【管理篇】如何向上沟通?

目录标题 向上沟通中下列问题最普遍和上级能不聊就不聊拿捏不好该不该和上级聊的分寸和尺度很难领会到上级的意图如何影响上级的一些观点和决策? 如何应对上述问题呢&#xff1f;&#x1f60e;如何管理上级&#xff1f;&#x1f44c; 向上沟通中下列问题最普遍 和上级能不聊就…

sql函数--10---In 多个字段

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.普通 in语句查询sqlMyBatis错误写法正确写法ListString[] 2.In多个字段sql案例脚本实例&#xff1a;错误写法&#xff1a;正确写法&#xff1a; MyBatis XML 写法…

Spring 事务及事务传播机制(1)

目录 事务 回顾: 什么是事务 为什么需要事务 事务的操作 Spring事务的实现 Spring编程式事务(简单了解即可, 问就是基本不用) 观察事务提交 观察事务回滚 Spring声明式事务 Transactional Transactional作用 事务 回顾: 什么是事务 定义: 事务是指逻辑上的一组操作, 构…

语义分割——前列腺分割数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

JVM认识之垃圾收集算法

一、标记-清除算法 1、定义 标记-清除算法是最基础的垃圾收集算法。它分为标记和清除两个阶段。先标记出所有需要回收的对象&#xff08;即垃圾&#xff09;&#xff0c;在标记完成后再统一回收所有垃圾对象。 2、优点和缺点 优点&#xff1a;实现简单缺点&#xff1a; 可能…

初阶数据结构之单链表详解

目录 一&#xff1a;单链表概念 二&#xff1a;单链表的基本操作 1.定义结点 2.创建链表&#xff08;初始化链表&#xff09; 3:新增结点 4.单链表尾插 5.单链表头插 6.单链表尾删 7&#xff1a;单链表头删 8.打印单链表 9.查找单链表结点 10.单链表删除指定结点 1…

redhat yum源配置

redhat默认安装后&#xff0c;是无法直接使用yum安装软件包的&#xff0c;必须在官方订阅后才能启用redhat官方的软件包源。但是我们可以使用centos的源替代 本文以redhat 7.9为例&#xff0c;其他版本的yum源参考&#xff1a; Redhat系列系统在线镜像源_redhat镜像-CSDN博客…

Centos7 安装 MySQL5.7 使用 RPM 方式

1 访问网站 https://downloads.mysql.com/archives/community/ 选择合适的版本&#xff0c;点击 Download。 2 上传下载好的 mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar 文件到 Centos7 机器&#xff0c;这里放到了 下载 目录。 3 解压 mysql-5.7.44-1.el7.x86_64.rpm-bundle.…

JS笔试手撕题

数据劫持 Vue2的Object.defineProperty() Vue2的响应式是通过Object.defineProperty()拦截数据&#xff0c;将数据转换成getter/setter的形式&#xff0c;在访问数据的时候调用getter函数&#xff0c;在修改数据的时候调用setter函数。然后利用发布-订阅模式&#xff0c;在数…

Google Gemma 2B 微调实战(IT科技新闻标题生成)

本文我将使用 Google 的 Gemma-2b 模型来微调一个基于IT科技新闻正文来生成对应标题的模型。并且我将介绍如何使用高度集成的训练框架来进行快速微调。 开始前 为了尽可能简化整个流程,我将使用 linux-cn 数据集[1]作为本次训练任务的训练数据。 模型选择使用 Gemma-2b[2],…

基于PSO粒子群优化的配电网可靠性指标matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 PSO算法应用于配电网优化的基本原理 5.完整程序 1.程序功能描述 基于PSO粒子群优化的配电网可靠性指标matlab仿真&#xff0c;指标包括saifi, saidi, caidi, aens四个。 2.测试软件版本…

React-hooks相关知识点总结

前言 随着函数式组件的不断流行&#xff0c;React从类式组件走上了函数式组件的时代&#xff0c;那么在新的React函数式编程中&#xff0c;hooks也成为了这个时期最广泛使用的一种方式。现在让我们总结下react hooks吧。 Hooks 是什么 react-hooks是react16.8以后&#xff0c…

深度学习--DCGAN

代码之后的注释和GAN的一样&#xff0c;大家如果已经掌握GAN&#xff0c;可以忽略掉哦&#xff01;&#xff01;&#xff01; 在学习DCGAN之前&#xff0c;我们要先掌握GAN&#xff0c;深度学习--生成对抗网络GAN-CSDN博客 这篇博客讲的就是GAN的相关知识&#xff0c;还是很详…

POST请求

1、代码 import urllib.request import urllib.parse# 指定 URL url https://fanyi.baidu.com/sug# POST 请求携带的参数进行处理流程&#xff1a; # 1. 将 POST 请求参数封装到字典 data {kw: 西瓜 }# 2. 使用 parse 模块中的 urlencode 进行编码处理 data urllib.parse.u…

【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解

博主打算从0-1讲解下java进阶篇教学&#xff0c;今天教学第十篇&#xff1a;Java中线程安全、锁讲解。 当涉及到多线程编程时&#xff0c;保证线程安全是至关重要的。线程安全意味着在多个线程访问共享资源时&#xff0c;不会发生数据错乱或不一致的情况。为了实现线程安全&am…

JavaScript异步编程——05-回调函数

我们在前面的文章《JavaScript 基础&#xff1a;异步编程/单线程和异步》中讲过&#xff0c;Javascript 是⼀⻔单线程语⾔。早期我们解决异步场景时&#xff0c;⼤部分情况都是通过回调函数来进⾏。 &#xff08;如果你还不了解单线程和异步的概念&#xff0c;可以先去回顾上一…

【Redis7】10大数据类型之Zset类型

文章目录 1.Zset类型2.常用命令3.示例3.1 ZADD,ZRANGE和ZREVRANGE3.2 ZSCORE,ZCARD和ZREM3.3 ZRANGEBYSCORE和ZCOUNT3.4 ZRANK和ZREVRANK3.5 Redis7新命令ZMPOP 1.Zset类型 Redis的Zset&#xff08;Sorted Set&#xff0c;有序集合&#xff09;是一种特殊的数据结构&#xff0…

用户运营4大核心(C端版)

1、用户运营是什么 产品好比歌手&#xff0c;运营好比经纪公司&#xff0c;运营就是让一个有潜质的产品&#xff0c;从“草根”发展成“明星”&#xff01;C端用户的产品忠诚度不高&#xff0c;用户运营更要维护好“粉丝”关系&#xff0c;从“单向的吸引”发展成“双向的进步…

phpstorm 环境配置与应用

PhpStorm 是 JetBrains 开发的一个强大的 PHP 集成开发环境&#xff08;IDE&#xff09;&#xff0c;广泛用于 PHP 开发。它支持多种框架&#xff0c;提供了代码自动完成、重构、实时错误检测等功能&#xff0c;并且可以通过插件扩展其功能。以下是一些基本的环境配置和应用步骤…

Encoder——Decoder工作原理与代码支撑

神经网络算法 &#xff1a;一文搞懂 Encoder-Decoder&#xff08;编码器-解码器&#xff09;_有编码器和解码器的神经网络-CSDN博客这篇文章写的不错&#xff0c;从定性的角度解释了一下&#xff0c;什么是编码器与解码器&#xff0c;我再学习笔记补充的时候&#xff0c;讲一下…