当前位置:   article > 正文

uniapp项目引入Dplayer.js以及hls.js用来解析播放m3u8直播流视频文件,文末有项目代码可供下载_uniapp hls

uniapp hls

1.下载依赖

npm i dplayer -S npm i hls.js -S

2.vue页面

  1. <template>
  2. <view class="content">
  3. <div id="dplayer" style="height: 450px"></div>
  4. </view>
  5. </template>
  6. <script>
  7. //引入 hls与dplayer 用于解析播放视频
  8. import Hls from 'hls.js'
  9. import Dplayer from 'dplayer'
  10. export default {
  11. data() {
  12. return {
  13. dp: {}
  14. }
  15. },
  16. mounted() {
  17. this.dp = new Dplayer({
  18. //播放器的一些参数
  19. container: document.getElementById('dplayer'),
  20. autoplay: false, //是否自动播放
  21. theme: '#FADFA3', //主题色
  22. loop: true,//视频是否循环播放
  23. lang: 'zh-cn',
  24. screenshot: false,//是否开启截图
  25. hotkey: true,//是否开启热键
  26. preload: 'auto',//视频是否预加载
  27. volume: 0.7,//默认音量
  28. mutex: true,//阻止多个播放器同时播放,当前播放器播放时暂停其他播放器
  29. video: {
  30. url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uni4934e7b/c4d93960-5643-11eb-a16f-5b3e54966275.m3u8 ', //视频地址
  31. type: 'customHls',
  32. customType: {
  33. customHls: function(video, player) {
  34. const hls = new Hls() //实例化Hls 用于解析m3u8
  35. hls.loadSource(video.src)
  36. hls.attachMedia(video)
  37. }
  38. },
  39. },
  40. });
  41. },
  42. created() {
  43. },
  44. methods: {
  45. }
  46. }
  47. </script>

然后就可以运行uniapp项目了。 

Dplayer的一些常用的参数

uniapp 播放m3u8格式项目下载:uniappnpm引入Dplayer与hls解析播放m3u8格式视频_uniapp动态播放m3u8-编解码文档类资源-CSDN下载


 3. 2022年2月9日更新

有人私信问我Dplyer如何切换m3u8视频,我就在这里说一下。

刚开始我用官网的这个API方法以切换视频,但是很遗憾没有解决。

 于是,我便尝试用watch监听vuex中的视频源src,当视频源发生改变时,重新初始化 Dplyer示例。

  1. <template>
  2. <view>
  3. <div class="video" id="dplayer" style="width: 750rpx; height: 450px"></div>
  4. </view>
  5. </template>
  6. <script>
  7. //导入hls与dplayer
  8. import Hls from 'hls.js'
  9. import Dplayer from 'dplayer'
  10. //引入vuex
  11. import { mapState } from 'vuex'
  12. export default {
  13. data() {
  14. return {
  15. dp: {},//用于获取Dplayer方法,以便使用Dplayer的API
  16. }
  17. },
  18. computed:{
  19. ...mapState(['m3u8Src'])//从vuex中获取视频源src
  20. },
  21. mounted() { //组件加载完成就第一次初始化Dplayer
  22. this.onInitDplayer(this.m3u8Src)
  23. },
  24. watch:{
  25. m3u8Src(n,o){//监听视频源src是否发生改变,若改变则重新初始化Dplayer
  26. this.onInitDplayer(this.m3u8Src)
  27. }
  28. },
  29. methods: {
  30. onInitDplayer(url) {
  31. this.dp = new Dplayer({
  32. //播放器的一些参数
  33. container: document.getElementById('dplayer'),
  34. autoplay: false, //是否自动播放
  35. lang: 'zh-cn',
  36. color: '#fadfa3',
  37. background: '#030307',
  38. preload: 'auto', //视频是否预加载
  39. volume: 0.7, //默认音量
  40. mutex: true, //阻止多个播放器同时播放,当前播放器播放时暂停其他播放器
  41. video: {
  42. url, //视频地址
  43. type: 'customHls',
  44. customType: {
  45. customHls: function(video, player) {
  46. const hls = new Hls() //实例化Hls 用于解析m3u8
  47. hls.loadSource(video.src)
  48. hls.attachMedia(video)
  49. }
  50. },
  51. },
  52. });
  53. document.querySelector(".dplayer-menu").remove(); //隐藏右键菜单
  54. document.oncontextmenu = () => false; // 阻止页面所有右键事件
  55. }
  56. }
  57. }
  58. </script>
  59. <style>
  60. .video {
  61. width: 750rpx;
  62. }
  63. </style>

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

闽ICP备14008679号