智能小程序 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 小程序开发。 

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT砖家涂拉拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值