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

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

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



swiper入参配置可参考:


// swiper 6.x版本 和 8.x版本 使用上会有一定区别,注释中会将不同点标注出来
import * as React from 'react';
// [swiper 8.x] 引入 swiper
import { Virtual } from 'swiper';
// [swiper 6.x] 引入 swiper
// import SwiperCore, { Virtual } from 'swiper';
import { Swiper, SwiperSlide } from 'swiper/react';
import type { FC } from 'react';
import type { IVideoCardItem } from '../../types
import styles from './index.module.less';
// [swiper 6.x] 加载 Virtual 模块
// SwiperCore.use([Virtual]);
const VideoSwiper: FC = () => {
 return (
 <Swiper
 className={styles.videoSwiperContainer}
 // 切换方向
 direction="vertical"
 // 初始索引
 initialSlide={0}
 // 切换角度,防止误切
 touchAngle={30}
 // [swiper 8.x] 加载 Virtual 模块
 modules={[Virtual]}
 // virtual配置,如下配置会保证至多有5 slide
 virtual={{
 // 在active的slide前多渲染1个slide
 addSlidesBefore: 1,
 // 在active的slide后多预渲染1个slide
 addSlidesAfter: 1,
 }}
 >
 {/* ... */}
 </Swiper>
 );
};


tips:移动端swiper切换时可能存在闪屏/抖动的异常情况,可以使用如下代码开启硬件加速,可以解决大部分异常情况。


.videoSwiperContainer :global {
 .swiper-wrapper {
 transform: translate3d(0, 0, 0);
 .swiper-slide {
 transform: translate3d(0, 0, 0);
 }
 }
}


视频播放器实例管理


上述中提到只需要屏幕当中的那一个内容卡片渲染播放器,其余展示封面图占位即可。在轮播容器完成一次切换即 onTransitionEnd 时销毁上一个内容卡片的播放器,同时激活当前内容卡片的播放器,保证始终只有一个播放器处于激活状态。


tips:当前内容卡片的播放器激活后,由于还需要加载视频资源,因此切换后会有短暂的等待时间。为了提升用户体验,可以配合视频资源的预加载,优先使用端侧提供的预加载能力,若没有该支持,可以尝试使用blob等预加载方案。


image.png



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

相关文章
|
5天前
|
JSON 缓存 前端开发
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
个人练习前端技术使用Bootstrap、JQuery、thymeleaf
11 2
|
15天前
|
缓存 人工智能 前端开发
前端技术博客:探索现代前端开发的奥秘
前端技术博客:探索现代前端开发的奥秘
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带来了诸多增强功能。
43 2
|
2月前
|
前端开发 JavaScript 项目管理
飞跃前端瓶颈:技术进阶指南精华篇
飞跃前端瓶颈:技术进阶指南精华篇
59 1
|
2月前
|
移动开发 前端开发 JavaScript
前端需要掌握的技术有哪些方面?
前端需要掌握的技术有哪些方面?
107 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
下一篇
无影云桌面