当前位置:   article > 正文

vue使用video播放m3u8视频首次进入不播放,刷新页面才播放_vue3中使用video-js必须刷新一下才显示

vue3中使用video-js必须刷新一下才显示

1.安装依赖

  1. npm i video.js
  2. npm i videojs-contrib-hls
  3. npm i mux.js

 2.html片段

  1. <video :id="`my-video${index}`" class="video-js vjs-default-skin videos" muted>
  2. <source :src="item.no_encryption_height" type="application/x-mpegURL" />
  3. </video>

3.js片段 

  1. import videojs from "video.js";
  2. import "videojs-contrib-hls";
  3. export default {
  4. data() {
  5. return {
  6. player:[],
  7. videoList:[],
  8. }
  9. },
  10. methods:{
  11. initData(){
  12. this.$axios.post("/api/initData",{})
  13. .then((res)=>{
  14. if(res.data.code ===200){
  15. this.$nextTick(()=>{
  16. this.videoList.forEach((item, index) => this.getVideo(index));
  17. })
  18. }
  19. })
  20. },
  21. getVideo(i) {
  22. let res = videojs(
  23. `my-video${i}`,
  24. {
  25. bigPlayButton: true,
  26. textTrackDisplay: false,
  27. posterImage: false,
  28. errorDisplay: false,
  29. controls: true,
  30. hls: {
  31. withCredentials: true,
  32. },
  33. },
  34. function () {
  35. this.play();
  36. }
  37. );
  38. this.player.push(res);
  39. },
  40. },
  41. //它用于在用户离开当前路由之前执行一些代码
  42. beforeRouteLeave(to, from, next) {
  43. this.player.forEach((item) => item.dispose());
  44. this.player = [];
  45. this.videoList = [];
  46. next();
  47. },
  48. }

如果在离开当前页面之前不清空播放列表,会导致第二次进入时不再重新播放视频,并且消耗性能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/92560
推荐阅读
相关标签
  

闽ICP备14008679号