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

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

本文介绍结束视频的其中一种方法--------创建一个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. BIOS和CMOS概念整理

    一:什么是BIOS  BIOS(Basic Input Output System),基本输入输出系统.是被写死在主板ROM只读芯片中的一组程序,在开机的时候首先要去读取的一个小程序. 它是我们可以将 ...

  2. Linux的awk命令详解

    awkawk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,默认以空格为分隔符将每行切片,切开的部分再 ...

  3. kafka官方的kafka-server-start.sh不能关闭kafka进程解决办法

    vi kafka-server-stop.sh 把PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{pr ...

  4. C#取视频某一帧图片

    首先下载 ffmpeg http://ffmpeg.org/ 注意一定要从官网下载,其他地方可以会有问题 解压后在 bin 目录下找到 ffmpeg.exe 用到的使命是 -i 视频地址 -ss 第几 ...

  5. 5、Docker 核心原理-资源隔离和限制

    Docker 资源隔离 Docker 是利用linux的LXC技术,内核的Kernel namespace Namespace: PID - 通过PID的namespace隔离,可以嵌套 NET - ...

  6. Java泛型之上、下界通配符的理解(适合初学)

    泛型的由来 为什么需要泛型   Java的数据类型一般都是在定义时就需要确定,这种强制的好处就是类型安全,不会出现像弄一个ClassCastException的数据给jvm,数据安全那么执行的clas ...

  7. C++ 关键字之override

    非原创,转载自stackoverflow 确切的说override并非一个keyword The override keyword serves two purposes: It shows the ...

  8. [TimLinux] asciinema Linux终端录制工具嵌入私有web中

    yum install asciinema https://github.com/asciinema/asciinema-player # 下载asciinema-player.css, asciin ...

  9. nbuoj2786 玻璃球

    题目:http://www.nbuoj.com/v8.83/Problems/Problem.php?pid=2786 用2个玻璃球找到从一100层的大楼的某一层落下刚好会摔碎,如何制定最优策略? 别 ...

  10. CSU OJ 2148 梦皮神

    Description Wells最近经常做一些有皮神出现的梦. 在这一次梦中Wells把皮神(Pikachu)弄丢了,Wells在一个正 N 边形区域的中心开始自闭,Wells想找回皮神,同时皮神也 ...