codecamp

百度智能小程序 VR 全景视频-beta

vrvideo VR 全景-beta

vrvideo 动态库提供了在小程序中播放全景视频的方法。

使用方法

1. 在项目中引用动态库

使用动态库的方法参见小程序文档:使用动态库,在 app.json 中增添一项 dynamicLib,与 pages 同级。

"dynamicLib": {
    "myDynamicLib": {
        "provider": "vrvideo"
    }
},

2. 在使用到组件的页面配置动态库

在每个使用到图表组件的页面,配置 *.json 文件如:

{
    "usingSwanComponents": {
        "vrvideo": "dynamicLib://myDynamicLib/vrvideo"
    }
}

3. 编写 *.swan 文件

<vrvideo src="{{ src }}" style="width: 100%; height: 100%; display: block"></vrvideo>

这是一种最基本的配置方式。style 也可以在 *.css 中声明,需要保证 <vrvideo> 是有宽度和高度的。options 在 *.js 中绑定到页面的 data 中:

动态库属性列表

<vrvideo> 上支持的属性包括:

属性名类型默认值必填说明
srcString视频的资源地址
initial-timeNumber指定视频初始播放位置
controlsBooleantrue是否显示默认播放控件(播放/暂停按钮、播放进度、时间)
autoplayBooleanfalse是否自动播放
loopBooleanfalse是否循环播放
mutedBooleanfalse是否静音播放
posterString视频封面的图片网络资源地址
show-progressBooleantrue若不设置,宽度大于 240 时才会显示。
show-fullscreen-btnBooleantrue是否显示全屏按钮
show-play-btnBooleantrue是否显示视频底部控制栏的播放按钮
show-center-play-btnBooleantrue是否显示视频中间的播放按钮
show-no-wifi-tipBooleantrue非 wifi 环境下是否显示继续播放浮层 基础库 3.100.4 以上
vrVideoModeObject全景相关配置

除 vrVideoMode 参数外,其他参数与普通视频类似,可参考vide 组件

vrVideoMode 参数说明

vrVideoMode 包含以下字段:

字段名类型默认值必填说明
interactiveModeStringVRModeInteractiveMotionWithTouch交互模式,有效值见下表
displayModeStringVRModeDisplayNormal显示模式,有效值见下表
projectionModeStringVRModeProjectionSphere投影模式,有效值见下表
fovnumber90初始 fov
minFovnumber动态计算最小 fov
maxFovnumber动态计算最大 fov
pinchEnablebooleantrue是否开启手势缩放

如果不填写,则为默认值,即

{
    interactiveMode: 'VRModeInteractiveMotionWithTouch',
    displayMode: 'VRModeDisplayNormal',
    projectionMode: 'VRModeProjectionSphere',
    fov: 90,
    pinchEnable: true
}

interactiveMode 有效值:

说明
VRModeInteractiveTouch拖拽
VRModeInteractiveMotion移动
VRModeInteractiveMotionWithTouch移动+拖拽

displayMode 有效值:

说明
VRModeDisplayNormal单目普通模式
VRModeDisplayGlass双目眼镜模式

projectionMode 有效值:

说明
VRModeProjectionSphere球形
VRModeProjectionDome180穹形 180 度
VRModeProjectionDome230穹形 230 度
VRModeProjectionDome180Upper穹形 180 度 UPPER
VRModeProjectionDome230Upper穹形 230 度 UPPER
VRModeProjectionStereoSphereHorizontal球形左右立体
VRModeProjectionStereoSphereVertical球形上下立体
VRModeProjectionPlaneFit平面 FIT
VRModeProjectionPlaneCrop平面 CROP
VRModeProjectionPlaneFull平面 FULL
VRModeProjectionStereoPlaneFitHorizontal平面 FIT 左右立体
VRModeProjectionStereoPlaneFitVertical平面 FIT 上下立体


百度智能小程序 VR 3D 环物-beta
百度智能小程序 富文本编辑器
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

百度智能小程序开发文档

百度智能小程序 组件

百度智能小程序 地图

百度智能小程序 画布

百度智能小程序 API

百度智能小程序 界面

百度智能小程序 关注小程序引导组件

百度智能小程序 自定义组件

百度智能小程序 媒体

百度智能小程序 设备

百度智能小程序 拨打电话

百度智能小程序 内存警报

百度智能小程序 手机联系人

百度智能小程序 用户截屏事件

百度智能小程序 第三方平台

百度智能小程序 开放接口

百度智能小程序 百度收银支付

百度智能小程序 分包预下载

百度智能小程序 数据分析

百度智能小程序 服务端

百度智能小程序 云开发

百度智能小程序 初始化

百度智能小程序 云函数

百度智能小程序 服务端初始化

百度智能小程序 服务器获取上下文

百度智能小程序 服务端云函数

百度智能小程序 开发教程

百度智能小程序 功能开发

百度智能小程序 基本原理

百度智能小程序 小程序自动化

百度智能小程序 视频教程

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }