当前第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视频音频实现步骤
利用HTML5以及canvas实现支持签名插件的方法
HTML5标准学习-编码详解
HTML5实践-使用css装饰图片画廊的代码分享(一)
h5的audio音频和video视频使用详解
哪些浏览器支持HTML5
HTML5音频与视频问题及解决方法
h5中的定位
HTML5中messageevent以及sse的规范
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 利用html5自定义实现播放器代码分享