@volcengine/veplayer 1.15.1 → 1.15.2-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @volcengine/veplayer might be problematic. Click here for more details.

Files changed (245) hide show
  1. package/.changeset/config.json +11 -0
  2. package/.changeset/curvy-yaks-smoke.md +5 -0
  3. package/.changeset/neat-eyes-search.md +5 -0
  4. package/.codebase/pipelines/create-api-doc.yaml +16 -0
  5. package/.eslintignore +5 -0
  6. package/.eslintrc.json +53 -0
  7. package/.stylelintrc.js +51 -0
  8. package/CHANGELOG.md +5665 -0
  9. package/DEV_README.md +39 -0
  10. package/LICENSE +20 -0
  11. package/README_EN.md +46 -0
  12. package/build.sh +44 -0
  13. package/docg.config.js +65 -0
  14. package/env/byteplus.js +30 -0
  15. package/env/volcengine.js +50 -0
  16. package/fixtures/favicon.ico +0 -0
  17. package/fixtures/index.base.js +59 -0
  18. package/fixtures/index.html +41 -0
  19. package/fixtures/index.js +185 -0
  20. package/libd.config.js +147 -0
  21. package/localhost+2-key.pem +28 -0
  22. package/localhost+2.pem +26 -0
  23. package/lux.config.mjs +37 -0
  24. package/package.json +123 -4
  25. package/sdkhub.config.json +10 -0
  26. package/src/@types/global.d.ts +35 -0
  27. package/src/assets/common/error.svg +3 -0
  28. package/src/assets/common/errorImg.png +0 -0
  29. package/src/assets/common/errorImg.svg +12 -0
  30. package/src/assets/icons/mobile/definition.svg +3 -0
  31. package/src/assets/icons/mobile/line.svg +3 -0
  32. package/src/assets/icons/mobile/mobileDanmu.svg +1 -0
  33. package/src/assets/icons/mobile/mobileDanmuAcitive.svg +1 -0
  34. package/src/assets/icons/mobile/mobileDanmuSetting.svg +1 -0
  35. package/src/assets/icons/mobile/mobileExitFullscreen.svg +1 -0
  36. package/src/assets/icons/mobile/mobileFullscreen.svg +1 -0
  37. package/src/assets/icons/mobile/mobilePause.svg +4 -0
  38. package/src/assets/icons/mobile/mobilePlay.svg +4 -0
  39. package/src/assets/icons/mobile/mobilePlaynext.svg +1 -0
  40. package/src/assets/icons/mobile/mobileRefresh.svg +1 -0
  41. package/src/assets/icons/mobile/more.svg +3 -0
  42. package/src/assets/icons/mobile/muted.svg +22 -0
  43. package/src/assets/icons/mobile/playbackrate.svg +3 -0
  44. package/src/assets/icons/pc/danmu.svg +1 -0
  45. package/src/assets/icons/pc/danmuActive.svg +1 -0
  46. package/src/assets/icons/pc/danmuSettings.svg +1 -0
  47. package/src/assets/icons/pc/download.svg +14 -0
  48. package/src/assets/icons/pc/exitFullscreen.svg +1 -0
  49. package/src/assets/icons/pc/exitMirror.svg +10 -0
  50. package/src/assets/icons/pc/extend.svg +1 -0
  51. package/src/assets/icons/pc/fullscreen.svg +1 -0
  52. package/src/assets/icons/pc/getMirror.svg +10 -0
  53. package/src/assets/icons/pc/list.svg +20 -0
  54. package/src/assets/icons/pc/noPoster.svg +119 -0
  55. package/src/assets/icons/pc/pause.svg +1 -0
  56. package/src/assets/icons/pc/pip.svg +1 -0
  57. package/src/assets/icons/pc/pipExit.svg +1 -0
  58. package/src/assets/icons/pc/play-next-btn.svg +4 -0
  59. package/src/assets/icons/pc/play.svg +1 -0
  60. package/src/assets/icons/pc/playNext.svg +1 -0
  61. package/src/assets/icons/pc/playerLoading.svg +1 -0
  62. package/src/assets/icons/pc/refresh.svg +1 -0
  63. package/src/assets/icons/pc/replay.svg +1 -0
  64. package/src/assets/icons/pc/reset.svg +6 -0
  65. package/src/assets/icons/pc/startPlay.svg +1 -0
  66. package/src/assets/icons/pc/subtitleclose.svg +5 -0
  67. package/src/assets/icons/pc/subtitleopen.svg +3 -0
  68. package/src/assets/icons/pc/theaterEnter.svg +1 -0
  69. package/src/assets/icons/pc/theaterExit.svg +1 -0
  70. package/src/assets/icons/pc/volumeLarge.svg +1 -0
  71. package/src/assets/icons/pc/volumeMuted.svg +1 -0
  72. package/src/assets/icons/pc/volumeSmall.svg +1 -0
  73. package/src/config/defaultPreset.ts +110 -0
  74. package/src/config/playerOptionMobile.ts +166 -0
  75. package/src/config/playerOptionPc.ts +147 -0
  76. package/src/config/playerPreset.ts +242 -0
  77. package/src/constants/api.ts +13 -0
  78. package/src/constants/event.ts +577 -0
  79. package/src/constants/player.ts +84 -0
  80. package/src/constants/plugin.ts +19 -0
  81. package/src/constants/umdMap.ts +137 -0
  82. package/src/constants/umdPlugins.json +68 -0
  83. package/src/core/index.ts +7 -0
  84. package/src/core/player.ts +2713 -0
  85. package/src/core/playerData.ts +812 -0
  86. package/src/env.d.ts +47 -0
  87. package/src/index.ts +24 -0
  88. package/src/index.umd.ts +54 -0
  89. package/src/interface/adaptRange.d.ts +33 -0
  90. package/src/interface/api.ts +132 -0
  91. package/src/interface/autoBitrate.d.ts +41 -0
  92. package/src/interface/index.ts +1685 -0
  93. package/src/interface/rtm.ts +56 -0
  94. package/src/interface/sdkErrorPlugin.ts +145 -0
  95. package/src/interface/subtitle.ts +381 -0
  96. package/src/interface/video.ts +107 -0
  97. package/src/interface/xgplayer.ts +748 -0
  98. package/src/lang/constants.ts +69 -0
  99. package/src/lang/en.ts +98 -0
  100. package/src/lang/index.ts +33 -0
  101. package/src/lang/jp.ts +100 -0
  102. package/src/lang/zh-hk.ts +80 -0
  103. package/src/lang/zh.ts +79 -0
  104. package/src/license/index.ts +315 -0
  105. package/src/license/ttlicense2.js +15 -0
  106. package/src/license/ttlicense2.wasm +0 -0
  107. package/src/music/icons/back.svg +3 -0
  108. package/src/music/icons/forward.svg +3 -0
  109. package/src/music/icons/loop.svg +10 -0
  110. package/src/music/icons/order.svg +10 -0
  111. package/src/music/icons/pause-circle.svg +23 -0
  112. package/src/music/icons/play-circle.svg +22 -0
  113. package/src/music/icons/random.svg +10 -0
  114. package/src/music/icons/sloop.svg +10 -0
  115. package/src/music/index.ts +5 -0
  116. package/src/music/music.ts +550 -0
  117. package/src/music/plugins/index.less +185 -0
  118. package/src/music/plugins/index.ts +6 -0
  119. package/src/music/plugins/musicBackward.ts +82 -0
  120. package/src/music/plugins/musicCover.ts +45 -0
  121. package/src/music/plugins/musicForward.ts +82 -0
  122. package/src/music/plugins/musicMeta.ts +32 -0
  123. package/src/music/plugins/musicMode.ts +152 -0
  124. package/src/music/plugins/musicNext.ts +93 -0
  125. package/src/music/plugins/musicPrev.ts +94 -0
  126. package/src/music/preset.ts +69 -0
  127. package/src/music/xhr.ts +37 -0
  128. package/src/plugins/common/extendPluginFactory.ts +132 -0
  129. package/src/plugins/common/mobilePlayerPanel.ts +253 -0
  130. package/src/plugins/external/LiveInfoPanel.ts +340 -0
  131. package/src/plugins/external/ad/adsPlugin.ts +1 -0
  132. package/src/plugins/external/aiSubtitleIconPlugin.ts +270 -0
  133. package/src/plugins/external/aiSubtitlePlugin.ts +452 -0
  134. package/src/plugins/external/definitionDemotePlugin.ts +591 -0
  135. package/src/plugins/external/memoryPlay.ts +247 -0
  136. package/src/plugins/external/mirrorPlugin.ts +141 -0
  137. package/src/plugins/external/playList/OptionList.ts +204 -0
  138. package/src/plugins/external/playList/index.ts +743 -0
  139. package/src/plugins/external/subtitle/index.ts +672 -0
  140. package/src/plugins/external/subtitle/nativeSubTitle.ts +115 -0
  141. package/src/plugins/external/timeShiftPlugin.ts +484 -0
  142. package/src/plugins/external/watermark/dynamicWatermark.less +13 -0
  143. package/src/plugins/external/watermark/dynamicWatermark.ts +449 -0
  144. package/src/plugins/external/watermark/dynamicWatermarkPlugin.ts +185 -0
  145. package/src/plugins/inner/common/autoplayPlugin.ts +435 -0
  146. package/src/plugins/inner/common/danmu/container.ts +120 -0
  147. package/src/plugins/inner/common/danmu/index.ts +683 -0
  148. package/src/plugins/inner/common/danmu/lang.ts +139 -0
  149. package/src/plugins/inner/common/danmu/panel.ts +20 -0
  150. package/src/plugins/inner/common/danmu/slider.ts +210 -0
  151. package/src/plugins/inner/common/danmu/state.ts +118 -0
  152. package/src/plugins/inner/common/danmu/switch.ts +74 -0
  153. package/src/plugins/inner/common/definitionBasePlugin.ts +353 -0
  154. package/src/plugins/inner/common/errorPlugin.ts +544 -0
  155. package/src/plugins/inner/common/liveLogger.ts +137 -0
  156. package/src/plugins/inner/common/poster/index.less +66 -0
  157. package/src/plugins/inner/common/poster/index.ts +178 -0
  158. package/src/plugins/inner/common/refreshPlugin.ts +88 -0
  159. package/src/plugins/inner/common/rtmPlugin.ts +62 -0
  160. package/src/plugins/inner/common/toastPlugin.ts +90 -0
  161. package/src/plugins/inner/common/unmutePlugin.ts +133 -0
  162. package/src/plugins/inner/common/vodLogger.ts +80 -0
  163. package/src/plugins/inner/mobile/DefinitionMobilePlugin.ts +217 -0
  164. package/src/plugins/inner/mobile/LineMobilePlugins.ts +169 -0
  165. package/src/plugins/inner/mobile/MoreButtonPlugin.ts +176 -0
  166. package/src/plugins/inner/mobile/PlaybackRatePlugin.ts +199 -0
  167. package/src/plugins/inner/pc/definitionPlugin.ts +203 -0
  168. package/src/plugins/inner/pc/multilinePlugin.ts +93 -0
  169. package/src/sdkPlugin/abr.ts +67 -0
  170. package/src/sdkPlugin/adaptRange.ts +49 -0
  171. package/src/sdkPlugin/authToken.ts +557 -0
  172. package/src/sdkPlugin/sdkPlugin.ts +125 -0
  173. package/src/sdkPlugin/sdkPluginManager.ts +157 -0
  174. package/src/sdkPlugin/strategy.ts +47 -0
  175. package/src/strategy/index.ts +740 -0
  176. package/src/strategy/vestrategy-h265-wrapper.ts +34 -0
  177. package/src/strategy/vestrategy-preload-wrapper.ts +414 -0
  178. package/src/streamAdapters/base.ts +89 -0
  179. package/src/streamAdapters/dash.ts +230 -0
  180. package/src/streamAdapters/default.ts +53 -0
  181. package/src/streamAdapters/hls.ts +278 -0
  182. package/src/streamAdapters/index.ts +40 -0
  183. package/src/streamAdapters/mp4.ts +214 -0
  184. package/src/style/bytelive/danmu.less +293 -0
  185. package/src/style/bytelive/definitionIcon.less +80 -0
  186. package/src/style/bytelive/error.less +165 -0
  187. package/src/style/bytelive/index.less +62 -0
  188. package/src/style/bytelive/loading.less +5 -0
  189. package/src/style/bytelive/mobiePlugin.less +2 -0
  190. package/src/style/bytelive/mobile.less +76 -0
  191. package/src/style/bytelive/moreButton.less +79 -0
  192. package/src/style/bytelive/panel.less +259 -0
  193. package/src/style/bytelive/pc.less +161 -0
  194. package/src/style/bytelive/refresh.less +3 -0
  195. package/src/style/bytelive/reset.less +4 -0
  196. package/src/style/bytelive/toast.less +61 -0
  197. package/src/style/bytelive/unmute.less +65 -0
  198. package/src/style/external/LiveInfoPanel.less +41 -0
  199. package/src/style/external/aisub.less +139 -0
  200. package/src/style/external/aisubIcon.less +25 -0
  201. package/src/style/external/index.less +5 -0
  202. package/src/style/external/larkWindow.less +36 -0
  203. package/src/style/external/mirror.less +27 -0
  204. package/src/style/external/playList.less +258 -0
  205. package/src/style/external/timeShift.less +102 -0
  206. package/src/style/external/vttSubtitle.less +25 -0
  207. package/src/utils/debug.ts +62 -0
  208. package/src/utils/definition.ts +61 -0
  209. package/src/utils/escapeHtml.ts +93 -0
  210. package/src/utils/eventMiddleWare.ts +108 -0
  211. package/src/utils/index.ts +621 -0
  212. package/src/utils/intervalTimer.ts +38 -0
  213. package/src/utils/isHijackBrowser.ts +71 -0
  214. package/src/utils/proxy.ts +139 -0
  215. package/src/utils/storage.ts +34 -0
  216. package/src/utils/time.ts +19 -0
  217. package/src/utils/toast/index.less +20 -0
  218. package/src/utils/toast/index.ts +21 -0
  219. package/src/utils/token.ts +395 -0
  220. package/src/utils/u8a.ts +4 -0
  221. package/src/utils/umdLoader.ts +193 -0
  222. package/src/utils/video.ts +43 -0
  223. package/src/utils/xhr.ts +160 -0
  224. package/src/veError/error.ts +301 -0
  225. package/src/veError/index.ts +681 -0
  226. package/src/veError/playerProxy.ts +69 -0
  227. package/tsconfig.json +27 -0
  228. package/index.d.ts +0 -6874
  229. package/index.min.css +0 -1
  230. package/index.min.js +0 -2
  231. package/plugin/DashAbralgo.js +0 -2
  232. package/plugin/XGVideo.js +0 -2
  233. package/plugin/danmuMask.js +0 -2
  234. package/plugin/danmujs.js +0 -3
  235. package/plugin/dash.js +0 -2
  236. package/plugin/flv.js +0 -2
  237. package/plugin/hls.js +0 -2
  238. package/plugin/hlsEncrypt.js +0 -2
  239. package/plugin/mp4Encrypt.js +0 -2
  240. package/plugin/preloader.js +0 -2
  241. package/plugin/streamprobe.js +0 -2
  242. package/plugin/vestrategy.js +0 -1
  243. package/plugin/vestrategy_adapt_range.js +0 -1
  244. package/plugin/vestrategy_h265.js +0 -1
  245. package/plugin/vestrategy_preload.js +0 -1
@@ -0,0 +1,161 @@
1
+ .xgplayer-pc {
2
+ .xg-options-icon {
3
+ .icon-text {
4
+ color: white;
5
+ font-size: 14px;
6
+ font-weight: 500;
7
+ background: transparent !important;
8
+ border: none;
9
+ border-radius: 0;
10
+ min-width: unset !important;
11
+ }
12
+ }
13
+
14
+ .xg-options-list {
15
+ color: white !important;
16
+ font-size: 14px;
17
+ background-color: rgb(0 0 0 / 70%) !important;
18
+ border-radius: 4px !important;
19
+ width: 78px;
20
+
21
+ .option-item {
22
+ height: 34px !important;
23
+ padding: 0 !important;
24
+ display: flex;
25
+ justify-content: center;
26
+ align-items: center;
27
+ color: white !important;
28
+
29
+ span {
30
+ white-space: nowrap;
31
+ }
32
+
33
+ &.selected {
34
+ color: #3370ff !important;
35
+ }
36
+
37
+ &:hover {
38
+ background-color: hsl(0deg 0% 100% / 20%);
39
+ }
40
+
41
+ &:first-child {
42
+ margin-top: 0 !important;
43
+ border-top-left-radius: 4px;
44
+ border-top-right-radius: 4px;
45
+ }
46
+
47
+ &:last-child {
48
+ margin-bottom: 0 !important;
49
+ border-bottom-left-radius: 4px;
50
+ border-bottom-right-radius: 4px;
51
+ }
52
+ }
53
+ }
54
+
55
+ .xgplayer-definition-plugin-pc {
56
+ .xg-options-list {
57
+ width: auto;
58
+ min-width: 88px;
59
+ }
60
+ }
61
+
62
+ .xgplayer-fullscreen {
63
+ .xg-tips {
64
+ left: 0 !important;
65
+ }
66
+ }
67
+
68
+ .xgplayer-volume {
69
+ xg-slider.xgplayer-slider {
70
+ background: rgb(0 0 0 / 50%);
71
+ border-radius: 8px;
72
+ width: 63px;
73
+ height: 125px;
74
+ left: 50%;
75
+ // bottom: 27px;
76
+ transform: translateX(-50%);
77
+
78
+ &::after {
79
+ content: none;
80
+ }
81
+
82
+ .xgplayer-bar {
83
+ left: 30px;
84
+ bottom: 12px;
85
+ height: 98px;
86
+ transform: none;
87
+ top: auto;
88
+ }
89
+
90
+ .xgplayer-drag {
91
+ max-height: 98px;
92
+ background-image: linear-gradient(120deg, #6aa6ff 0%, #1664ff 100%);
93
+
94
+ &.dragging,
95
+ &:hover {
96
+ &::before {
97
+ content: '';
98
+ position: absolute;
99
+ top: -10px;
100
+ left: -8px;
101
+ width: 20px;
102
+ height: 20px;
103
+ border-radius: 50%;
104
+ }
105
+ }
106
+
107
+ &::after {
108
+ top: -5px;
109
+ width: 10px;
110
+ height: 10px;
111
+ left: -3px;
112
+ box-shadow: none;
113
+ }
114
+ }
115
+
116
+ .xgplayer-volume-text {
117
+ margin-top: 12px;
118
+ font-size: 14px;
119
+ line-height: 22px;
120
+ text-align: center;
121
+ }
122
+ }
123
+ }
124
+
125
+ .xgplayer-progress {
126
+ .xgplayer-progress-outer {
127
+ transition: unset;
128
+ }
129
+
130
+ .xgplayer-progress-btn {
131
+ width: 16px;
132
+ height: 16px;
133
+ box-shadow: 0 0 1px 0 rgb(0 0 0 / 9.6%);
134
+ background: #346aff41;
135
+ }
136
+
137
+ .xgplayer-progress-played {
138
+ background: #3469ff;
139
+ }
140
+ }
141
+
142
+ .xgplayer-replay {
143
+ height: unset;
144
+
145
+ .xgplayer-replay-txt {
146
+ display: none;
147
+ }
148
+
149
+ &:hover {
150
+ circle {
151
+ fill-opacity: 0.5;
152
+ }
153
+ }
154
+ }
155
+
156
+ &.xgplayer-is-error {
157
+ .xgplayer-start {
158
+ display: none;
159
+ }
160
+ }
161
+ }
@@ -0,0 +1,3 @@
1
+ .xgplayer-refresh {
2
+ margin-left: 12px !important;
3
+ }
@@ -0,0 +1,4 @@
1
+ // 重写部分xgplayer的样式
2
+ .xgplayer .xg-panel-info {
3
+ z-index: 100;
4
+ }
@@ -0,0 +1,61 @@
1
+ .xgplayer-sdk-toast {
2
+ position: absolute;
3
+ bottom: 50px;
4
+ left: 16px;
5
+ z-index: 203;
6
+
7
+ .toast-container {
8
+ display: flex;
9
+ margin-top: 8px;
10
+ border-radius: 8px;
11
+ padding: 4px 10px;
12
+ height: 28px;
13
+ font-size: 14px;
14
+ line-height: 20px;
15
+ background: rgb(0 0 0 / 40%);
16
+ color: white;
17
+ box-sizing: content-box;
18
+
19
+ .toast-txt {
20
+ display: flex;
21
+ align-items: center;
22
+
23
+ .toast-txt-bt {
24
+ color: #338fff;
25
+ margin-left: 8px;
26
+
27
+ &:hover {
28
+ color: #338fffdf;
29
+ }
30
+ }
31
+ }
32
+
33
+ .toast-close-bt {
34
+ display: flex;
35
+ justify-content: center;
36
+ align-items: center;
37
+ height: 25px;
38
+ width: 25px;
39
+ font-size: 16px;
40
+ font-weight: bolder;
41
+ margin-left: 15px;
42
+ }
43
+ }
44
+ }
45
+
46
+ .xgplayer-mobile {
47
+ .xgplayer-sdk-toast {
48
+ .toast-container {
49
+ height: 20px;
50
+ padding: 4px 8px;
51
+ font-size: 12px;
52
+
53
+ .toast-close-bt {
54
+ height: 20px;
55
+ width: 20px;
56
+ font-size: 14px;
57
+ margin-left: 8px;
58
+ }
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,65 @@
1
+ .xgplayer-unmute {
2
+ position: absolute;
3
+ display: flex;
4
+ width: 100%;
5
+ height: 100%;
6
+ justify-content: center;
7
+ align-items: center;
8
+ pointer-events: none;
9
+ z-index: 10;
10
+ top: 0;
11
+
12
+ .xgplayer-unmute-bt {
13
+ display: flex;
14
+ justify-content: center;
15
+ align-items: center;
16
+ width: 180px;
17
+ height: 60px;
18
+ color: white;
19
+ border-radius: 5px;
20
+ border: 0.5px white solid;
21
+ font-size: 16px;
22
+ background-color: rgb(0 0 0 / 50%);
23
+ pointer-events: auto;
24
+
25
+ &:hover {
26
+ background-color: rgb(0 0 0 / 30%);
27
+ border: 0.5px #3370ff solid;
28
+ color: #3370ff;
29
+ }
30
+
31
+ &:active {
32
+ background-color: rgb(0 0 0 / 30%);
33
+ }
34
+ }
35
+
36
+ .xgplayer-unmute-bt-tag {
37
+ display: none;
38
+ align-items: center;
39
+ color: white;
40
+ background: rgb(0 0 0 / 45%);
41
+ border-radius: 2px;
42
+ padding: 2px;
43
+ font-size: 12px;
44
+ position: absolute;
45
+ bottom: 4px;
46
+ left: 4px;
47
+ }
48
+ }
49
+
50
+ .xgplayer-mobile {
51
+ .xgplayer-unmute-bt {
52
+ width: 150px;
53
+ height: 40px;
54
+ font-size: 14px;
55
+ }
56
+ }
57
+
58
+ .xgplayer-ended,
59
+ .xgplayer-pause,
60
+ .xgplayer-isloading,
61
+ .xgplayer-is-error {
62
+ .xgplayer-unmute {
63
+ display: none;
64
+ }
65
+ }
@@ -0,0 +1,41 @@
1
+ .veplayer-livepanel-container {
2
+ color: #fff;
3
+ width: 165px;
4
+ height: 100%;
5
+ z-index: 8;
6
+ position: absolute;
7
+ font-size: 12px;
8
+ padding: 10px;
9
+ background: rgb(0 0 0 / 50%);
10
+ font-weight: 400;
11
+ box-sizing: border-box;
12
+ overflow-y: scroll;
13
+ scrollbar-width: none; /* firefox */
14
+ -ms-overflow-style: none; /* IE 10+ */
15
+ &::-webkit-scrollbar {
16
+ display: none; /* Chrome Safari */
17
+ }
18
+
19
+ &-row {
20
+ display: block;
21
+ line-height: 20px;
22
+ overflow: hidden;
23
+ white-space: nowrap;
24
+ text-overflow: ellipsis;
25
+
26
+ &-label {
27
+ display: inline-block;
28
+ width: 50%;
29
+ color: #c9cdd4;
30
+ }
31
+
32
+ &-title {
33
+ display: inline-block;
34
+ padding-top: 30px;
35
+ }
36
+ }
37
+ }
38
+
39
+ .veplayer-livepanel-hidden {
40
+ display: none;
41
+ }
@@ -0,0 +1,139 @@
1
+ @keyframes scroll-ani-1 {
2
+ 0% {
3
+ transform: translateY(0);
4
+ }
5
+
6
+ 100% {
7
+ transform: translateY(-50%);
8
+ }
9
+ }
10
+
11
+ @keyframes scroll-ani-2 {
12
+ 0% {
13
+ transform: translateY(0);
14
+ }
15
+
16
+ 100% {
17
+ transform: translateY(-50%);
18
+ }
19
+ }
20
+
21
+ .xgplayer-pc {
22
+ .xgplayer-subtitles {
23
+ position: absolute;
24
+ bottom: 40px;
25
+ left: 50%;
26
+ line-height: 28px;
27
+ font-size: 20px;
28
+ color: white;
29
+ transform: translateX(-50%);
30
+ word-break: break-word;
31
+ overflow: hidden;
32
+ z-index: 6;
33
+ pointer-events: none;
34
+ white-space: nowrap;
35
+ text-align: left;
36
+ text-shadow: black 1px 0 1px, black 0 1px 1px, black 0 -1px 1px,
37
+ black -1px 0 1px;
38
+ height: 56px;
39
+ width: 80%;
40
+ box-sizing: border-box;
41
+
42
+ .xgplayer-subtitles-inner {
43
+ display: flex;
44
+ flex-direction: column;
45
+ position: absolute;
46
+ top: 0;
47
+ left: 0;
48
+ width: 100%;
49
+ height: 100%;
50
+
51
+ span {
52
+ display: inline;
53
+ width: max-content;
54
+ box-sizing: border-box;
55
+ }
56
+ }
57
+
58
+ .xgplayer-subtitles-helper {
59
+ opacity: 0;
60
+ width: max-content;
61
+ }
62
+
63
+ .scroll-1 {
64
+ animation: scroll-ani-1 0.1s forwards;
65
+ }
66
+
67
+ .scroll-2 {
68
+ animation: scroll-ani-2 0.1s forwards;
69
+ }
70
+ }
71
+
72
+ .xgplayer-inactive {
73
+ .xgplayer-subtitles {
74
+ bottom: 40px;
75
+ }
76
+ }
77
+ }
78
+
79
+ .xgplayer-mobile {
80
+ .xgplayer-subtitles {
81
+ position: absolute;
82
+ bottom: 18px;
83
+ left: 50%;
84
+ line-height: 18px;
85
+ font-size: 12px;
86
+ color: white;
87
+ transform: translateX(-50%);
88
+ word-break: break-word;
89
+ overflow: hidden;
90
+ z-index: 6;
91
+ pointer-events: none;
92
+ white-space: nowrap;
93
+ text-align: left;
94
+ text-shadow: black 1px 0 1px, black 0 1px 1px, black 0 -1px 1px,
95
+ black -1px 0 1px;
96
+ height: 36px;
97
+ width: 64%;
98
+ }
99
+
100
+ .xgplayer-subtitles-inner {
101
+ display: flex;
102
+ flex-direction: column;
103
+ position: absolute;
104
+ top: 0;
105
+ left: 0;
106
+ width: 100%;
107
+ height: 100%;
108
+
109
+ span {
110
+ width: max-content;
111
+ }
112
+ }
113
+
114
+ .xgplayer-subtitles-helper {
115
+ opacity: 0;
116
+ width: max-content;
117
+ }
118
+
119
+ .scroll-1 {
120
+ animation: scroll-ani-1 0.1s forwards;
121
+ }
122
+
123
+ .scroll-2 {
124
+ animation: scroll-ani-2 0.1s forwards;
125
+ }
126
+
127
+ &.xgplayer-is-fullscreen,
128
+ &.xgplayer-inner-fullscreen {
129
+ .xgplayer-subtitles {
130
+ bottom: 45px;
131
+ font-size: 16px;
132
+
133
+ @media screen and(orientation: portrait) {
134
+ bottom: 80px;
135
+ font-size: 12px;
136
+ }
137
+ }
138
+ }
139
+ }
@@ -0,0 +1,25 @@
1
+ .xgplayer-aisub {
2
+ &.isOpen {
3
+ .xgplayer-aisub-open-svg {
4
+ display: block;
5
+ }
6
+
7
+ .xgplayer-aisub-close-svg {
8
+ display: none;
9
+ }
10
+
11
+ .xg-tips {
12
+ display: none !important;
13
+ }
14
+ }
15
+
16
+ &.isClose {
17
+ .xgplayer-aisub-open-svg {
18
+ display: none;
19
+ }
20
+
21
+ .xgplayer-aisub-close-svg {
22
+ display: block;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,5 @@
1
+ @import './timeShift.less';
2
+ @import './LiveInfoPanel.less';
3
+ @import './mirror.less';
4
+ @import './vttSubtitle.less';
5
+ @import './playList.less';
@@ -0,0 +1,36 @@
1
+ .xgplayer.xgplayer-mini-mode.xgplayer-mobile {
2
+ position: fixed;
3
+ left: 0;
4
+ top: 0;
5
+ width: 100vw !important;
6
+ height: 100vh !important;
7
+ z-index: 9999;
8
+
9
+ .xgplayer-error {
10
+ display: none;
11
+ }
12
+
13
+ .xgplayer-autoplay-container {
14
+ display: none;
15
+ }
16
+
17
+ #xgplayer-toast {
18
+ display: none;
19
+ }
20
+
21
+ .xgplayer-controls {
22
+ display: none !important;
23
+ }
24
+
25
+ .xgplayer-danmu {
26
+ display: none !important;
27
+ }
28
+
29
+ .xgplayer-danmu-container {
30
+ display: none !important;
31
+ }
32
+
33
+ .xg-top-bar {
34
+ display: none;
35
+ }
36
+ }
@@ -0,0 +1,27 @@
1
+ .xgplayer {
2
+ &.xgplayer-mirror {
3
+ video {
4
+ transform: rotateY(180deg);
5
+ }
6
+ }
7
+
8
+ .xgplayer-mirror-icon {
9
+ .xg-get-mirror {
10
+ display: block;
11
+ }
12
+
13
+ .xg-exit-mirror {
14
+ display: none;
15
+ }
16
+
17
+ &[data-state='enable'] {
18
+ .xg-get-mirror {
19
+ display: none;
20
+ }
21
+
22
+ .xg-exit-mirror {
23
+ display: block;
24
+ }
25
+ }
26
+ }
27
+ }