当前第2页 返回上一页
拖拽代码思路
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | var dragDis = 0
var processWidth = xxx
$( 'body' ).mousedown( function (e) {
startX = e.clientX
dragDis = startX - leftInit
dragTarget.css({
left: dragDis
})
dragProcess.css({
width: dragDis
})
videoSource.pause()
}).mousemove( function (e) {
moveX = e.clientX
disX = moveX - startX
var left = dragDis + disX
if (left > processWidth) {
left = processWidth
} else if (left < 0) {
left = 0
}
dragTarget.css({
left: left
})
dragProcess.css({
width: left
})
}).mouseup( function (e) {
videoSource.play()
videoSource.currentTime = $( '蓝色拖拽条' ).width() / processWidth * duration
})
|
同理音量的控制与其上行为基本一致,故在源码中作者将音量与进度部分通过不同元素进行判断是进行进度还是音量的拖拽控制。
通过查询视频流状态控制播放前的加载动画
1 2 3 4 5 6 7 8 9 10 11 12 | function ifState() {
var state = videoSource.readyState
if (state === 4) {
videoPlayer()
} else {
$( '.play-sym-wrapper' ).remove()
$( 'body' ).append( '<p class="play-sym-wrapper"><img class="play-sym" src="./images/loading.gif"></p>' )
setTimeout(ifState, 10)
}
}
setTimeout(ifState, 10)
|
核心的控制部分已经说完了,有兴趣的同学可以去源码的html中点击播放,其中被迫有很多零碎的需求,比如点击暂停,保存音量等等。整个视频播放器的基础功能实现的还算完善。
以上就是利用html5自定义实现播放器代码分享的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
移动端HTML5页面生成图片解决方案
HTML5播放视频教程
(server-sent events)浅谈h5 中的服务器推送事件
HTML5原生拖拽操作实例讲解
HTML5怎么实现拖拽
HTML5表单元素实例讲解
详解HTML5的video标签的浏览器兼容性增强方案
如何使用canvas画出平滑的曲线?(代码)
HTML5+canvas调用手机拍照功能实现图片上传功能(图文详解上篇)
如何使用插件数字滚动插件numberanimate.js?
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 利用html5自定义实现播放器代码分享