bilibili的视频播放如何实现?

问题描述

bilibili的视频播放器除了Vue都用到了什么技术栈或者怎么实现的

问题出现的环境背景及自己尝试过哪些方法

我今天想要模仿bilibili来写一个视频播放器,但是我写到有关播放/暂停功能时候遇到了一些问题:在Vue3里因为setup是在创建虚拟DOM之前执行的,所以我无法在setup中访问相关DOM节点(<video>)的相关属性,以至于我无法通过监听video的属性来实现响应式。后来我去B站的web端看它的代码后我发现好像并不是我想的那样使用v-if或者v-show的方法来动态渲染,当我切换播放和暂停状态时候它的svg是没有发生变化的而是其中一个class类发生了变化,但是我并没有在开发者工具里找到这个类具体是什么,还望有大佬来指点一二。


回答:

<template>

<video ref="videoRef"></video>

</template>

<script setup>

import { ref, onMounted } from 'vue';

const videoRef = ref(null);

onMounted(() => {

// 在这里用 videoRef.value

});

</script>

动态样式:

<svg :class="isPlaying ? 'play-class' : 'pause-class'"></svg>

b站用的技术
bilibili的视频播放如何实现?


回答:

bilibili的视频播放器除了Vue都用到了什么技术栈或者怎么实现的---
播放器的水就很深了,视频资源首先得符合video的要求,其他的就是辅助加各种基本控制了,有那个时间,只是看他的页面样式啥的,还不如自己手动实现一个,看自己的demo和他的差距有多大;他的弹幕处理技术,纯前端几乎是无能为力;

以上是 bilibili的视频播放如何实现? 的全部内容, 来源链接: utcz.com/p/934803.html

回到顶部