当前位置: 首页 > 知识库问答 >
问题:

javascript - bilibili的视频播放如何实现?

韦德厚
2023-08-19

问题描述

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

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

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

共有2个答案

谯德佑
2023-08-19

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

颛孙钱青
2023-08-19
<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站用的技术
企业微信截图_16921545668266.png

 类似资料:
  • 本文向大家介绍H5播放的video视频,如何实现对视频截图?相关面试题,主要包含被问及H5播放的video视频,如何实现对视频截图?时的应答技巧和注意事项,需要的朋友参考一下

  • 我有一个响应站点,包含html5视频。我有一些javascript可以检查视频元素的大小是否低于某个阈值。如果是,它将移除控件,将视频播放按钮覆盖图像放置在视频元素的顶部,然后将click事件添加到保存视频元素的容器中。当点击容器时,它会将视频复制到一个模态对话框中并播放视频。 现在的困境是: webm版本没有任何问题。 modal视图的mp4版本在Safari中没有问题。 如果mp4播放到位(即

  • 我正在开发一个音频播放器,它可以在后台播放音频文件。我的问题是,当录像机或视频播放器启动时,我需要暂停音频播放器。 有什么方法可以处理这个任务吗?例如,我有来处理这些调用。当我接到呼叫或wnat呼叫时,我们可以使用呼叫状态暂停播放器。我想为录像机或视频播放器以及相同的场景。当视频/录制开始时,我需要暂停音频播放器。

  • 一个播放器功能,现在需求将视频播放修改为播放图片。 我试过直接替换路径,但是图片加载需要时间,有些时候就会在图片还没有加载完成就调到下一章图片了,出现黑屏现象,因此需要图片提前加载几张才行,有什么方法可以解觉这个问题,或者有什么开源组件可以实现播放图片的功能

  • 用 AVPlayer 类写的简易视频播放器,可以播放来自互联网的视频,支持手势缩放视频。只能播放iPhone支持的视频格式。 目前有两点不足:一是无法调节音量;二是手势放大缩小之后滑动快进快退也不太正常。希望有其他开发者在此基础上继续改进。 [Code4App.com]

  • 下面是我的代码以及报错信息,不知道是哪里错了,这个url地址我测试过也是可以的,在这里先谢谢各位大哥们的解答,小弟感激不尽!!