https://v2.h5player.bytedance.com/en/api/
1 npm install xgplayer
1 <div id="mse"></div> 2 <div id="box"></div>
1 <script> 2 import Player from "xgplayer"; 3 4 export default { 5 name: "home", 6 data() { 7 return { 8 player: null, 9 }; 10 }, 11 mounted() { 12 this.player = new Player({ 13 id: "mse", //或者 el:document.querySelector('#mse'), 14 url: "/api/feiyunzhixia.mp4", //視頻源 15 definitionActive: 'hover', //修改清晰度控件的觸發方式(hover或click) player.emit() 方法 16 playNext: { 17 urlList: ["url1", "url2", "url3"], //下一集 18 }, 19 download: true, //設置download控件顯示 20 autoplay: false, //目前大多數瀏覽器廠商不建議播放器自動播放視頻,開發者對此有特殊需求時可通過該配置項打開 21 volume: 0, //播放器預設音量大小。 0 - 1 22 // poster: "//lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/byted-player-videos/1.0.0/poster.jpg", //封面圖 23 playsinline: false, 24 playbackRate: [0.5, 0.75, 1, 1.5, 2], //傳入倍速可選數組 25 // width: 600, 26 // height: 337.5, 27 fluid: true, //流式布局,可使播放器寬度跟隨父元素的寬度大小變化,且高度按照配置項中的高度和寬度的比例來變化 28 // fitVideoSize: 'auto' //自適應視頻內容寬高 29 loop: true, //循環播放 30 31 // lastPlayTime: 20, //視頻起播時間(單位:秒) 記憶播放 播放器支持設置視頻起播時間。 32 // lastPlayTimeHideDelay: 5, //提示文字展示時長(單位:秒) 33 34 rotate: { 35 //視頻旋轉按鈕配置項 36 innerRotate: true, //只旋轉內部video 37 clockwise: true, // 旋轉方向是否為順時針 38 }, 39 rotateFullscreen: true, //樣式橫屏全屏 40 41 danmu: { 42 comments: [ 43 //彈幕數組 44 { 45 duration: 15000, //彈幕持續顯示時間,毫秒(最低為5000毫秒) 46 id: "1", //彈幕id,需唯一 47 start: 3000, //彈幕出現時間,毫秒 48 prior: true, //該條彈幕優先顯示,默認false 49 color: true, //該條彈幕為彩色彈幕,默認false 50 txt: "長彈幕長彈幕長彈幕長彈幕長彈幕長彈幕長彈幕長彈幕長彈幕長彈幕", //彈幕文字內容 51 style: { 52 //彈幕自定義樣式 53 color: "#ff9500", 54 fontSize: "20px", 55 border: "solid 1px #ff9500", 56 borderRadius: "50px", 57 padding: "5px 11px", 58 backgroundColor: "rgba(255, 255, 255, 0.1)", 59 }, 60 mode: "top", //顯示模式,top頂部居中,bottom底部居中,scroll滾動,默認為scroll 61 // el: DOM //直接傳入一個自定義的DOM元素作為彈幕,使用該項的話會忽略所提供的txt 62 // eventListeners: [{ //支持自定義DOM設置DOM監聽事件 63 // event: 'click', 64 // listener: function (e) { 65 // console.log('click') 66 // }, 67 // useCapture: false, 68 // }] 69 }, 70 ], 71 area: { 72 //彈幕顯示區域 73 start: 0, //區域頂部到播放器頂部所占播放器高度的比例 74 end: 1, //區域底部到播放器頂部所占播放器高度的比例 75 }, 76 closeDefaultBtn: true, //開啟此項后不使用默認提供的彈幕開關,默認使用西瓜播放器提供的開關 77 defaultOff: true, //開啟此項后彈幕不會初始化,默認初始化彈幕 78 }, 79 80 pip: true, // 畫中畫 81 miniplayer: true, //mini小窗 82 miniplayerConfig: { 83 bottom: 200, 84 right: 0, 85 width: 320, 86 height: 180, 87 }, 88 // cssFullscreen: true, // #網頁樣式全屏 樣式全屏功能不會隱藏當前瀏覽器的標簽欄,導航欄,只是在當前頁面內部全屏顯示。 89 screenShot: { 90 // 截圖功能支持用戶對當前視頻播放窗口進行即時截屏,截圖尺寸即為當前視頻播放窗口的尺寸,截圖默認為 .png 格式 91 saveImg: true, 92 quality: 0.92, 93 type: "image/png", 94 format: ".png", 95 }, 96 // 支持用戶在線預覽本地視頻。 97 preview: { 98 uploadEl: document.querySelector("#box"), 99 }, 100 // progressDot: [ 101 // { 102 // time: 10, //展示標記的時間 103 // text: "標記文字", //鼠標hover在標記時展示的文字 104 // duration: 8, //標記段長度(以時長計算) 105 // style: { 106 // //標記樣式 107 // background: "blue", 108 // }, 109 // }, 110 // { 111 // time: 22, 112 // text: "標記文字", 113 // }, 114 // { 115 // time: 56, 116 // duration: 8, 117 // }, 118 // { 119 // time: 76, 120 // }, 121 // ], 122 keyShortcutStep: { 123 //鍵盤快捷鍵:按 → 鍵快進10秒, 按 ← 鍵后退10秒,按 ↑ 鍵調高音量,按 ↓ 鍵調低音量,按 space 鍵切換播放/暫停狀態 124 currentTime: 15, //播放進度調整步長,默認10秒 125 volume: 0.2, //音量調整步長,默認0.1 126 }, 127 controls: true, //關閉控制條 播放器控制條由播放/暫停、定位、音量、全屏切換等元素 128 controlsList: ['nodownload'], // 選擇關閉部分控制條選項可以通過配置controlsList選項實現。 參考值:['nodownload','nofullscreen','noremoteplayback'] 129 }); 130 131 this.player.emit('resourceReady', [{name: '高清', url: '/api/feiyunzhixia.mp4'}, {name: '超清', url: '/api/feiyunzhixia.mp4'}]); 132 133 }, 134 methods: {}, 135 }; 136 </script>