带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(3)

简介: 带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(3)

带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(2) https://developer.aliyun.com/article/1243501?groupCode=taobaotech



有两种情况会引起进度条“走动”:


1. 视频正常播放,进度更新。

2. 用户手动拖拽进度条。


对于1,进度条组件对父元素暴露更新进度的方法,父元素监听到播放器 timeupdate 时去调用该方法即可。


对于2,可以使用 @use-gesture/vanilla 实现跟手的拖拽效果,用户停止拖拽时去做播放器的跳帧操作:


// ...
useEffect(() => {
 const gesture = new DragGesture(
 // 拖拽“点”
 thumbRef.current,
 (state) => {
 if (state.first) {
 setIsDragging(true);
 }
 const x = state.xy[0];
 let walked: number;
 // 判断是否超出边界
 if (x < 0) {
 walked = 0;
 } else if (x > OVERALL_WIDTH) {
 walked = OVERALL_WIDTH;
 } else {
 walked = x;
 }
 setCurrentWalked(walked);
 if (state.last) {
 // 用户停止拖拽后,跳帧至当前时间
 const duration = Math.ceil((walked / OVERALL_WIDTH) * maxDuration);
 onChangeCurrentTime(duration);
 setIsDragging(false);
 }
 },
 {
 axis: 'x',
 pointer: { touch: true },
 },
 );
 return () => {
 gesture.destroy();
 };
}, []);
return (
 <div ref={thumbRef} />
);


视频播放器激活及销毁


虽然该场景下存在n个内容卡片,但是我们只需要屏幕当中的那一个内容卡片渲染视频播放器,其余内容卡片仅保留封面图占位即可,减少内存占用。


image.png



带你读《2022技术人的百宝黑皮书》——短视频无尽流前端开发指南(4) https://developer.aliyun.com/article/1243498?groupCode=taobaotech


相关文章
|
6天前
|
JSON 缓存 前端开发
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
12 2
|
16天前
|
缓存 人工智能 前端开发
前端技术博客:探索现代前端开发的奥秘
前端技术博客:探索现代前端开发的奥秘
33 11
|
2月前
|
前端开发 JavaScript 开发者
震惊!Web 前端 href 与 src 竟有如此差异,快来一探究竟,掌握热门技术核心要点
【8月更文挑战第26天】在Web前端开发中,`href`与`src`是两个常用属性,但其差异常被忽视。`href`(超文本引用)用于创建文档间的链接关系,如链接至外部网页或引入CSS文件;`src`(来源)则用于在文档内嵌入资源,如图片或JavaScript文件。两者在使用场景及加载机制上有所不同:`href`支持并行下载且不阻塞渲染,适合非关键资源加载;而`src`加载时会暂停页面渲染直至资源加载完成,适用于如图片和脚本这类对页面显示至关重要的资源。因此,正确理解并运用这两个属性对于保障网页性能和用户体验至关重要。
41 3
|
2月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
44 2
|
2月前
|
前端开发 JavaScript 项目管理
飞跃前端瓶颈:技术进阶指南精华篇
飞跃前端瓶颈:技术进阶指南精华篇
59 1
|
2月前
|
移动开发 前端开发 JavaScript
前端需要掌握的技术有哪些方面?
前端需要掌握的技术有哪些方面?
108 1
|
2月前
|
存储 前端开发 安全
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
【海贼王航海日志:前端技术探索】CSS你了解多少?(三)
30 2
|
2月前
|
Web App开发 前端开发
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
【海贼王航海日志:前端技术探索】CSS你了解多少?(二)
22 2
|
2月前
|
缓存 前端开发 JavaScript
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
【海贼王航海日志:前端技术探索】CSS你了解多少?(一)
22 2
|
2月前
|
前端开发 JavaScript 数据安全/隐私保护
【海贼王航海日志:前端技术探索】HTML你学会了吗?(二)
【海贼王航海日志:前端技术探索】HTML你学会了吗?(二)
29 1
下一篇
无影云桌面