嵌入视频有2种方式,先说第一种,叫做视频投影,这种方式是在地面平铺个实体对象,比如四边形,然后把视频标签当做纹理的来源,贴到上面去。
废话不多说,直接上代码
(1)html部分
<video id="myVideo" muted="" autoplay="" loop="loop" crossorigin="*" controls="">
<source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
</video>
(2)js部分
// 获取视频元素
const videoElement = document.getElementById("myVideo");
let viewer = this.viewer;
// 创建实体对象
const rectangle = viewer.entities.add({
rectangle: {
coordinates: Cesium.Rectangle.fromDegrees(113.122717, 23.028762, 113.122717 + 0.001, 23.028762 + 0.001),
material: videoElement
}
});
let synchronizer = new Cesium.VideoSynchronizer({
clock : viewer.clock,
element : videoElement
});
viewer.clock.shouldAnimate = true;
videoElement.style.display = 'none';
注意这里,要做时钟同步,这样才能让video标签隐藏起来。另外一个做法参照: