2024年Web前端最全关于vue播放flv,m3u8视频流(监控)的方法,Web前端面试题集锦

最后

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

},
jessibuca_fullscreen(flag) {
  // 当前是否全屏
  console.log("on fullscreen", flag);
  if (flag) {
    let myEvent = new Event("resize");
    setTimeout(() => {
      window.dispatchEvent(myEvent);
    }, 100);
  }
},
jessibuca_mute(flag) {
  // 触发声音事件
  console.log("on mute", flag);
},
jessibuca_audioInfo(data) {
  // 当解析出音频信息时回调,2个回调参数
  // 1. numOfChannels:声频通道
  // 2. sampleRate 采样率
  console.log("audioInfo", data);
},
jessibuca_videoInfo(data) {
  // 当解析出视频信息时回调
  // 1. w:视频宽
  // 2. h:视频高
  console.log("videoInfo", data);
},
jessibuca_error(error) {
  // 错误信息
  console.log("error:", error);
},
jessibuca_timeout() {
  // 当设定的超时时间内无数据返回,则回调
  console.log("timeout");
},
jessibuca_start(s) {
  // 流状态统计,流开始播放后回调,每秒1次
  // 1. buf: 当前缓冲区时长,单位毫秒
  // 2. fps: 当前视频帧率,
  // 3. abps: 当前音频码率,单位bit,
  // 4. vbps: 当前视频码率,单位bit,
  // 5. ts:当前视频帧pts,单位毫秒
  // console.log('stats is', s);
},
jessibuca_performance(performance) {
  // 渲染性能统计,流开始播放后回调,每秒1次。
  // 0: 表示卡顿、1: 表示流畅、2: 表示非常流程
  // console.log('performance', performance);
},
jessibuca_kBps(kBps) {
  // 当前网速, 单位KB 每秒1次,
  // console.log('kBps', kBps);
},
// 方法:
methods_play(url) {
  // 播放
  if (this.jessibuca.hasLoaded()) {
    this.jessibuca.play(url);
  } else {
    console.error("视频数据未加载完毕,请稍后操作");
  }
},
methods_mute() {
  // 静音
  this.jessibuca.mute();
},
methods_cancelMute() {
  // 取消静音
  this.jessibuca.cancelMute();
},
methods_pause() {
  // 暂停
  this.jessibuca.pause();
},
methods_setVolume(volume) {
  // 设置音量
  this.jessibuca.setVolume(volume);
},
methods_setRotate(rotate) {
  // 设置旋转角度 0\180\270
  this.jessibuca.setRotate(rotate);
},
methods_destroy() {
  // 关闭视频,释放底层资源
  if (this.jessibuca) {
    this.jessibuca.destroy();
  }
},
methods_fullscreen(flag) {
  // 全屏(取消全屏)播放视频
  this.jessibuca.setFullscreen(flag);
},
methods_screenShot() {
  // 截图
  // 1. screenshot(filename, format, quality)
  // 2. {string} filename、 {string} format、{number} quality
  // 3.filename: 保存的文件名, 默认 时间戳、format : 截图的格式,可选png或jpeg或者webp ,默认 png、quality: 可选参数,当格式是jpeg或者webp时,压缩质量,取值0 ~ 1 ,默认 0.92
  this.jessibuca.screenshot();
},
methods_setBufferTime(time) {
  // 设置最大缓冲时长,单位秒,播放器会自动消除延迟。
  // {number} time
  this.jessibuca.setBufferTime(Number(time));
},
methods_setScaleMode(mode) {
  // 设置播放器填充
  // 1. 0 视频画面完全填充canvas区域,画面会被拉伸 等同于参数 isResize 为false
  // 2. 1 视频画面做等比缩放后,高或宽对齐canvas区域,画面不被拉伸,但有黑边 等同于参数 isResize 为true
  // 3. 2 视频画面做等比缩放后,完全填充canvas区域,画面不被拉伸,没有黑边,但画面显示不全 等同于参数 isFullSize 为true
  this.jessibuca.setScaleMode(Number(mode));
},
restartPlay() {
  // 重新加载
  this.methods_destroy();
  this.methods_play(this.videoUrl);
}

},
mounted() {
this.init();
window.onerror = msg => (this.err = msg);
},
beforeDestroy() {
if (this.jessibuca) this.jessibuca.destroy();
}
};


 4.最后再自己用到的文件里面 引入组件即可


![](https://img-blog.csdnimg.cn/338c1e9635c2482fa2fce13d40689c98.png)


 如有想要文件的请私聊



二、easyplayer插件播放m3u8流


教程:


1.首先npm安装EasyPlayer、copy-webpack-plugin  
**ps:copy-webpack-plugin版本一定一定一定不能大于6.0,否则会报错。**



npm install @easydarwin/easyplayer --save
npm install copy-webpack-plugin@5.1.2 --save-dev


2.最重要的地方 一定要把这个地方弄好 那就是在vue.config.js里面



const CopyWebpackPlugin = require(‘copy-webpack-plugin’)
configureWebpack: {
plugins:[
new CopyWebpackPlugin([
{
from: ‘node_modules/@easydarwin/easyplayer/dist/component/EasyPlayer.swf’,
to: ‘./libs/EasyPlayer/’
},
{
from: ‘node_modules/@easydarwin/easyplayer/dist/component/crossdomain.xml’,
to: ‘./libs/EasyPlayer/’
},
{
from: ‘node_modules/@easydarwin/easyplayer/dist/component/EasyPlayer-lib.min.js’,
to: ‘./libs/EasyPlayer/’
}
])
]
}


3.还需要在public/index.html 引入EasyPlayer-lib.min.js,可以直接在node\_modules里找到@easydarwin下的dist/compent/EasyPlayer-lib.min.js复制到pubilc目录下,还有需要EasyPlayer.wasm同样放到public目录下


![](https://img-blog.csdnimg.cn/4e2a3b1bf71c44f087b3c4290d524e33.png)


 4.引入组件使用


![](https://img-blog.csdnimg.cn/fb96b5fdcedf44d3a2538adfc1f2d362.png)


 最后效果
### 最后

**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

**给大家分享一些关于HTML的面试题。**

![](https://img-blog.csdnimg.cn/img_convert/054108daeef8d52045cd9ce378fecf20.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/ebb65fc212de2e7f9003544153f5bc7c.webp?x-oss-process=image/format,png)





前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**

**给大家分享一些关于HTML的面试题。**

[外链图片转存中...(img-lyiEMXfD-1715396667643)]
[外链图片转存中...(img-ZO9EHoCN-1715396667644)]





  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2024Web前端面试中,面试官可能会关注一系列的技能和概念,包括但不限于HTML、CSS、JavaScript、前端框架(如React、Vue、Angular)、性能优化、响应式设计、浏览器兼容性、模块化和打包工具(Webpack、Rollup)、API交互、前端测试(如Jest、Mocha)、SEO、以及最近流行的技术趋势如WebAssembly、PWA(Progressive Web App)和GraphQL等。 具体的问题可能涵盖: 1. HTML5新特性的理解和使用,比如语义化的标签和表单控制。 2. CSS3样式和布局技巧,如Flexbox和Grid的使用。 3. JavaScript ES6+的新特性,比如箭头函数、模板字面量、Promise和Async/Await等。 4. 面向前端开发的JavaScript库和框架的最佳实践,如组件化开发和状态管理。 5. 了解并评价不同前端框架的核心思想和适用场景。 6. 浏览器渲染原理和性能优化策略,如懒加载、预渲染、缓存优化等。 7. 对跨域、同源策略和HTTPS的理解,以及处理JSONP或CORS的方法。 8. Webpack或Rollup的工作原理,以及如何配置它们来处理模块和打包。 9. 如何设计和实现可复用、可测试的前端代码结构。 10. 对现代前端测试的认识,包括单元测试、集成测试和端到端测试。 11. Web性能优化案例分享,如减少HTTP请求、压缩资源、CDN使用等。 12. 了解基本的SEO优化原则,如元标签、索引优化等。 13. 对现代前端架构,如服务端渲染、单页应用(SPA)和微前端的理解。 14. 最新的前端技术动态,例如WebAssembly如何提升性能,PWA如何提供离线体验,以及GraphQL如何改进API设计。 如果你想深入了解前端面试题,建议关注权威技术博客、参加在线课程和模拟面试练习,不断更新自己的知识库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值