videoInfo1.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2.  
  3. <div>
  4. <video-player class="vjs-custom-skin" ref="videoPlayer" :options="playerOptions" @ready="onPlayerReadied"
  5. @timeupdate="onTimeupdate" :playsinline="playsinline">
  6. </video-player>
  7. </div>
  8. </template>
  9. <script>
  10. import 'video.js/dist/video-js.css'
  11. import 'vue-video-player/src/custom-theme.css'
  12. require('videojs-contrib-hls/dist/videojs-contrib-hls.js')
  13. import 'video.js/dist/video-js.css'
  14. import { videoPlayer } from 'vue-video-player'
  15. export default {
  16. components: {
  17. videoPlayer,
  18. },
  19. name: '',
  20. data() {
  21. return {
  22. initialized: false,
  23. currentTech: '',
  24. streams: {
  25. rtmp: '',
  26. hls: '',
  27. },
  28. playerOptions: {
  29. fluid: true,
  30. muted: false,
  31. sources: [
  32. {
  33. type: 'application/x-mpegURL',
  34. //src: 'https://pili-live-hls.nengapp.com/nenglive/0926_zs.m3u8',
  35. src: 'http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8',
  36. },
  37. ],
  38. // poster: "https://cache.yisu.com/upload/information/20200622/114/16031.gif",
  39. // poster:"https://www.geidcp.com/img/20220923.png",
  40. poster:"https://www.geidcp.com/img/20230926.png",
  41. // poster:"@/assets/ballot/20220923.png",
  42. notSupportedMessage: '此视频暂无法播放,请稍后再试',
  43. hls: true,
  44. },
  45. }
  46. },
  47. mounted() {},
  48. computed: {
  49. player() {
  50. return this.$refs.videoPlayer.player
  51. },
  52. currentStream() {
  53. return this.currentTech === 'Flash' ? 'RTMP' : 'HLS'
  54. },
  55. playsinline() {
  56. let ua = navigator.userAgent.toLocaleLowerCase()
  57. // x5内核
  58. if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
  59. return false
  60. } else {
  61. // ios端
  62. return true
  63. }
  64. },
  65. },
  66. methods: {
  67. onPlayerReadied() {
  68. if (!this.initialized) {
  69. this.initialized = true
  70. this.currentTech = this.player.techName_
  71. }
  72. },
  73. onTimeupdate(e) {
  74. // console.log('currentTime', e.cache_.currentTime)
  75. },
  76. },
  77. }
  78. </script>
  79. <style scoped></style>