vue制作自定义媒体播放器控件

在开发中,如果我们的网页要播放媒体(音频或者视频)之类的,那么h5中的媒体播放器必然是最好的选择(flash时代已经过去)。但是h5中的播放器播放控件很多时候不是我们需要的,这时候我们要改变播放控件就需要我们去了解h5中video标签的一些事件属性,具体可以查看MDN上的介绍。根据这些属性,我弄了一个vue的组件的demo,具体可查看源码这里,demo可查看这里

那么定制媒体播放控件就可以通过一些属性来控制媒体播放、暂停还是播放进度之类的。

媒体加载后获取媒体播放时长

loadedmetadata媒体加载完成后返回媒体的一些有效信息,如:媒体播放总时长duration

onLoadedmetadata(res) {
  this.maxTime = this.formatTime(parseInt(res.target.duration));
},

因为返回的duration是秒,所以用formatTime转化为00:00:00的格式

formatTime(time) {
  let secondType = typeof time
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用Vue和OpenLayers创建自定义绘图控件的示例: ```vue <template> <div class="draw-control ol-unselectable ol-control"> <button @click="toggleDrawing">{{ drawing ? 'Stop' : 'Start' }} drawing</button> <button @click="clearDrawing">Clear</button> </div> </template> <script> import ol from 'openlayers'; export default { name: 'DrawControl', props: { map: { type: ol.Map, required: true } }, data() { return { drawing: false, source: new ol.source.Vector(), draw: new ol.interaction.Draw({ source: this.source, type: 'LineString' }) }; }, mounted() { const element = this.$el; ol.control.Control.call(this, { element: element }); this.map.addControl(this); }, methods: { toggleDrawing() { if (!this.drawing) { this.map.addInteraction(this.draw); } else { this.map.removeInteraction(this.draw); } this.drawing = !this.drawing; }, clearDrawing() { this.source.clear(); } } }; </script> <style scoped> .draw-control { position: absolute; bottom: 10px; left: 10px; } </style> ``` 在此示例中,我们定义了一个名为DrawControl的Vue组件。它接受一个属性map,表示使用的OpenLayers地图实例。在data中,我们定义了一个drawing状态表示当前是否正在绘制,一个source表示绘制的要素源,以及一个draw交互用于绘制线。在mounted钩子中,我们将创建一个包含开始和清除按钮控件元素,并将其添加到地图控件中。toggleDrawing方法将在开始和停止绘制之间切换,而clearDrawing方法将清除绘制的要素。最后,我们将组件的样式应用于控件元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值