在三维中,为了增加现实感、给人一种带入感,我们会采取接入视频的方式来实现,那么如何接入视频呢?

由于没有截至写文章为止,我没有视频流数据,所以只能采取本地视频文件的方式来做。

本文介绍结束视频的其中一种方法--------创建一个Entity实体作为承载视频的载体,将视频作为一种Entity的材质。

首先:在HTML中接入视频

<video id="trailer" muted autoplay loop crossorigin controls>
<source src="LV.mp4" type="video/mp4">
Your browser does not support the <code>video</code> element.
</video>

这段代码中 muted标识让视频静音播放,本来这个组件设置的属性时静音、自动播放且循环,但是实际上当我把视频接入进来的时候却不自动播放,所以需要手动给他播放。

但是想要播放视频,不是所有的视频都是可以播放的,需要符合HTML5标准的视频格式和编码才能播放,我一开始也是MP4文件,但是却不能播放,后来才知道是视频编码的问题,

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

我们需要转换成这些规定的格式,使用格式工厂对视频做转码操作

//视频播放
var videoElement = document.getElementById('trailer');
videoElement.play(); //开始播放

第二步:造实体贴材质

我才去造wall实体去贴,模仿街道的广告牌

造wall实体:

    var videoElement = document.getElementById('trailer');
videoElement.play(); //开始播放 view.entities.add({
wall: {
positions:[
Cesium.Cartesian3.fromDegrees(116.372834749242,39.8914878935825,8),
Cesium.Cartesian3.fromDegrees(116.372460907789,39.8914878935825,8)], //这里表征其实是墙的底部的顶点
minimumHeights:[20,20], //这里表征的其实是墙的最高的地方,以这个为例,可知,墙的底部是从位于8m高度的位置开始的,在高度为20m的位置结束的一面墙
material : videoElement,
}
})

最后的效果

Supermap/Cesium 开发心得----本地视频接入播放的更多相关文章

  1. Supermap/Cesium 开发心得----定位

    SuperMap的WebGL是基于开源JS库Cesium做的修改而形成的产品,理论上用起来大同小异,如果在有不一样的地方再看,基本上还是与Cesium的接口名称和结构是一样的. 定位方法有基于Cesi ...

  2. Supermap/Cesium 开发心得----动态散点图(波纹点/涟漪点)

    在二维开发中,openlayers4 入门开发系列结合 echarts4 实现散点图,下图是GIS之家的效果图,那么在三维中,则可借助Entity来变相构造下图的效果. 思路: 构造实体ellipse ...

  3. Supermap/Cesium 开发心得----飞天动线的实现

    在实际开发中,我遇到这样的问题,只给了两地点的坐标,要求会出从A地到B地的在天上飞的那种动态线 本质上动线的效果就是构造实体Entity中的polyline来实现,设置好材质,颜色和运动频率 具体实现 ...

  4. Supermap/Cesium 开发心得----获取三维视角的四至范围

    网上目前有两种获取当前Camera的四至范围的方法 方法一    这种方法是最通用的,即使在哥伦布视角(2.5D下依旧能准确获取值) function getCurrentExtent() { // ...

  5. 照相、从相册上取照片、播放音频、播放本地视频、播放网络视频、MPMoviePlayerController

    一.照相.从相册上去照片 1. 先判断是否支持照相功能 *判断当前设备是否支持照相功能,支持返回YES 否则返回NO 注意:模拟器不支持照相功能 把握一个原则只要是物理硬件相关的功能模拟器都不支持 例 ...

  6. iOS开发- 获取本地视频文件

    下面具体介绍下实现过程.先看效果图.图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 图3. 实现功能后, 运行截图 好了, 通过图片, 我们可以看到实现的效果.功能包 ...

  7. iOS 本地视频和网络视频流播放

    需求:最近公司需要做一个楼宇对讲的功能:门口机(连接WIFI)拨号对室内机(对应的WIFI)的设备进行呼叫,室内机收到呼叫之后将对收到的数据进行UDP广播的转发,手机(连接对应的WIFI)收到视频流之 ...

  8. video.js不能控制本地视频或者音频播放时长

    问题: 把视频放到本地,然后对视频进行测试,想要控制视频或者音频的播放时长,没办法做到,每次拉动进度条,都会使得本地视频重新播放 原因: 所有浏览器默认js无法访问本地地址,也就是说js不能对本地文件 ...

  9. github视频录制播放相关功能-参考

    lookingstars/JZVideoDemo  视频播放器 Updated on 11 Aug Objective-C 15 10 caoguoqing/VideoEditDemo  iOS vi ...

随机推荐

  1. 基于 HTML5 + WebGL 的地铁 3D 可视化系统

    前言 工业互联网,物联网,可视化等名词在我们现在信息化的大背景下已经是耳熟能详,日常生活的交通,出行,吃穿等可能都可以用信息化的方式来为我们表达,在传统的可视化监控领域,一般都是基于 Web SCAD ...

  2. UiPath之获取邮件相关信息

    大家好,小U又来给大家分享UiPath文章,争取每一篇文章都给大家带来满满的干货. 本次案例是告诉大家如何使用GetOutLookMailMessage这个Activity, 案例的目的是将某个特定人 ...

  3. Linux如何切换图形界面和命令行界面

    在命令行,输入 init 3 命令,并按回车键执行,切换到命令行界面 切换到命令行界面后,在界面上只显示一个闪烁的光标,按下 Ctrl+Alt+F6(非虚拟机)或者 Alt+F6(虚拟机),显示用户登 ...

  4. 新手学分布式 - Envoy Proxy XDS Server动态配置的一点使用心得

    Envoy Proxy 动态API的使用总结 Envoy Proxy和其它L4/L7反向搭理工具最大的区别就是原生支持动态配置. 首先来看一下Envoy的大致架构 从上图可以简单理解:Listener ...

  5. Flink应用程序结构开发介绍

    Flink程序遵循一定的编程模式.DataStream API 和 DataSet API 基本具有相同的程序结构.以下为一个流式程序的示例代码来对文本文件进行词频统计. package com.re ...

  6. 自动列表排序.html

    li:before { content: counter(chapter) ". "; counter-increment: chapter; font-weight: bold; ...

  7. luogu P2824 [HEOI2016/TJOI2016]排序

    题目描述 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行 ...

  8. swift实现单例的四种方式

    单例模式 单例模式是设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象. 当你只需要一个实例的时候需要使用单例 ...

  9. 常见Python爬虫框架你会几个?

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:三名狂客 正文 注意:如果你Python技术学的不够好,可以点击下方链接 ...

  10. word2vec用到的c语言知识

    argc,avgv用法 argc 表示有几个参数,因为至少要指定一个应用程序的名,所以argc>=1. argv表示参数是什么. int main(int argc, char **argv) ...