zwplayer-vue2x 1.0.31 → 1.0.32

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.
@@ -1,6 +1,6 @@
1
1
  @font-face {
2
2
  font-family: "xiconfont"; /* Project id */
3
- src: url('zwplayer.ttf?t=1682038826666') format('truetype');
3
+ src: url('zwplayer.ttf?t=1682038836666') format('truetype');
4
4
  }
5
5
 
6
6
  .xicon {
@@ -124,200 +124,323 @@
124
124
  }
125
125
 
126
126
  .xicon-4k-fill:before {
127
- content: "\e66a";
127
+ content: "\e66a";
128
128
  }
129
129
 
130
130
  .xicon-cc:before {
131
- content: "\e66c";
131
+ content: "\e66c";
132
132
  }
133
133
 
134
134
  .xicon-cc {
135
- font-size: 26px;
135
+ font-size: 26px;
136
136
  }
137
137
 
138
138
  .xicon-cc-fill:before {
139
- content: "\e66d";
139
+ content: "\e66d";
140
140
  }
141
141
 
142
142
  .xicon-hd:before {
143
- content: "\e66e";
143
+ content: "\e66e";
144
144
  }
145
145
 
146
146
  .xicon-hd {
147
- font-size: 26px;
147
+ font-size: 26px;
148
148
  }
149
149
 
150
150
  .xicon-hd-fill:before {
151
- content: "\e672";
151
+ content: "\e672";
152
152
  }
153
153
 
154
154
  .xicon-config:before {
155
- content: "\e8b7";
155
+ content: "\e8b7";
156
156
  }
157
157
 
158
158
  .xicon-camera {
159
- font-size: 22px;
159
+ font-size: 22px;
160
160
  }
161
161
 
162
162
  .xicon-camera:before {
163
- content: "\e7ba";
163
+ content: "\e7ba";
164
164
  }
165
165
 
166
166
  .xicon-chapter:before {
167
- content: "\e608";
167
+ content: "\e608";
168
168
  }
169
169
 
170
170
  .xicon-brightness:before {
171
- content: "\e80d";
171
+ content: "\e80d";
172
172
  }
173
173
 
174
174
  .xicon-contrast:before {
175
- content: "\e65d";
175
+ content: "\e65d";
176
176
  }
177
177
 
178
178
  .xicon-saturation:before {
179
- content: "\e631";
179
+ content: "\e631";
180
180
  }
181
181
 
182
182
  .xicon-hue:before {
183
- content: "\e68e";
183
+ content: "\e68e";
184
184
  }
185
185
 
186
186
  .xicon-subtitles:before {
187
- content: "\e911";
187
+ content: "\e911";
188
188
  }
189
189
 
190
190
  .xicon-subtitle_on:before {
191
- content: "\e609";
191
+ content: "\e609";
192
192
  }
193
193
 
194
194
  .xicon-subtitle_disable:before {
195
- content: "\e60a";
195
+ content: "\e60a";
196
196
  }
197
197
 
198
198
  .xicon-num-0:before {
199
- content: "\e625";
199
+ content: "\e625";
200
200
  }
201
201
 
202
202
  .xicon-num-1:before {
203
- content: "\e626";
203
+ content: "\e626";
204
204
  }
205
205
 
206
206
  .xicon-num-2:before {
207
- content: "\e627";
207
+ content: "\e627";
208
208
  }
209
209
 
210
210
  .xicon-num-3:before {
211
- content: "\e628";
211
+ content: "\e628";
212
212
  }
213
213
 
214
214
  .xicon-num-4:before {
215
- content: "\e629";
215
+ content: "\e629";
216
216
  }
217
217
 
218
218
  .xicon-num-5:before {
219
- content: "\e62a";
219
+ content: "\e62a";
220
220
  }
221
221
 
222
222
  .xicon-num-6:before {
223
- content: "\e62c";
223
+ content: "\e62c";
224
224
  }
225
225
 
226
226
  .xicon-num-7:before {
227
- content: "\e62e";
227
+ content: "\e62e";
228
228
  }
229
229
 
230
230
  .xicon-num-8:before {
231
- content: "\e62f";
231
+ content: "\e62f";
232
232
  }
233
233
 
234
234
  .xicon-num-9:before {
235
- content: "\e630";
235
+ content: "\e630";
236
236
  }
237
237
 
238
238
  .xicon-send:before {
239
- content: "\e632";
239
+ content: "\e632";
240
240
  }
241
241
 
242
242
  .xicon-arrow-left:before {
243
- content: "\e620";
243
+ content: "\e620";
244
244
  }
245
245
 
246
246
  .xicon-arrow-up:before {
247
- content: "\e61d";
247
+ content: "\e61d";
248
248
  }
249
249
 
250
250
  .xicon-arrow-right:before {
251
- content: "\e61f";
251
+ content: "\e61f";
252
252
  }
253
253
 
254
254
  .xicon-arrow-down:before {
255
- content: "\e61e";
255
+ content: "\e61e";
256
256
  }
257
257
 
258
258
  .xicon-media-next:before {
259
- content: "\e60b";
259
+ content: "\e60b";
260
260
  }
261
261
 
262
262
  .xicon-media-prev:before {
263
- content: "\e60d";
263
+ content: "\e60d";
264
264
  }
265
265
 
266
266
  .xicon-pic-in-pic:before {
267
- content: "\e610";
267
+ content: "\e610";
268
268
  }
269
269
 
270
270
  .xicon-smile:before {
271
- content: "\e613";
271
+ content: "\e613";
272
272
  }
273
273
 
274
274
  .xicon-smile2:before {
275
- content: "\e673";
275
+ content: "\e673";
276
276
  }
277
277
 
278
278
  .xicon-smile3:before {
279
- content: "\e633";
279
+ content: "\e633";
280
280
  }
281
281
 
282
282
  .xicon-smile4:before {
283
- content: "\e681";
283
+ content: "\e681";
284
284
  }
285
285
 
286
286
  .xicon-danmu:before {
287
- content: "\e624";
287
+ content: "\e624";
288
288
  }
289
289
 
290
290
  .xicon-danmu-setting:before {
291
- content: "\e615";
291
+ content: "\e615";
292
292
  }
293
293
 
294
294
  .xicon-danmu-color:before {
295
- content: "\e6a2";
295
+ content: "\e6a2";
296
296
  }
297
297
 
298
298
  .xicon-danmu-top:before {
299
- content: "\e69b";
299
+ content: "\e69b";
300
300
  }
301
301
 
302
302
  .xicon-danmu-bottom:before {
303
- content: "\e69f";
303
+ content: "\e69f";
304
304
  }
305
305
 
306
306
  .xicon-danmu-config:before {
307
- content: "\e615";
307
+ content: "\e615";
308
308
  }
309
309
 
310
310
  .xicon-danmu-smile:before {
311
- content: "\e613";
311
+ content: "\e613";
312
312
  }
313
313
 
314
314
  .xicon-disabled:before {
315
- content: "\e6ad";
315
+ content: "\e6ad";
316
+ }
317
+
318
+
319
+ .xicon-open-file:before {
320
+ content: "\e602";
321
+ }
322
+
323
+ .xicon-open-file2:before {
324
+ content: "\e604";
325
+ }
326
+
327
+ .xicon-audio-effect:before {
328
+ content: "\e6aa";
316
329
  }
317
330
 
331
+ .xicon-loop:before {
332
+ content: "\e51e";
333
+ }
334
+
335
+ .xicon-download:before {
336
+ content: "\e75d";
337
+ }
338
+
339
+ .xicon-record:before {
340
+ content: "\e698";
341
+ }
342
+
343
+ .xicon-zone:before {
344
+ content: "\e887";
345
+ }
318
346
  .xicon.xicon-lite {
319
- font-size: 20px;
347
+ font-size: 20px;
348
+ }
349
+
350
+ /* 直播录制状态小红点 - 在录制按钮上 */
351
+ .zwp-live-recording-indicator {
352
+ position: absolute;
353
+ top: 2px;
354
+ right: 6px;
355
+ width: 10px;
356
+ height: 10px;
357
+ background: #ff0000;
358
+ border-radius: 50%;
359
+ z-index: 1001;
360
+ display: none;
361
+ box-shadow: 0 0 6px rgba(255, 0, 0, 0.8);
362
+ border: 1px solid rgba(255, 255, 255, 0.8);
363
+ }
364
+
365
+ /* 闪烁动画 */
366
+ .zwp-live-recording-indicator.recording {
367
+ display: block;
368
+ animation: recording-pulse 1.2s ease-in-out infinite;
369
+ }
370
+
371
+ @keyframes recording-pulse {
372
+ 0% {
373
+ opacity: 1;
374
+ transform: scale(1);
375
+ box-shadow: 0 0 8px rgba(255, 0, 0, 0.9);
376
+ }
377
+ 50% {
378
+ opacity: 0.4;
379
+ transform: scale(0.6);
380
+ box-shadow: 0 0 4px rgba(255, 0, 0, 0.5);
381
+ }
382
+ 100% {
383
+ opacity: 1;
384
+ transform: scale(1);
385
+ box-shadow: 0 0 8px rgba(255, 0, 0, 0.9);
386
+ }
387
+ }
388
+
389
+ /* 音频录制状态 - 绿色指示灯 */
390
+ .zwp-live-recording-indicator.audio-recording {
391
+ background: #00ff00;
392
+ box-shadow: 0 0 6px rgba(0, 255, 0, 0.8);
393
+ border: 1px solid rgba(255, 255, 255, 0.8);
320
394
  }
395
+
396
+ /* 音频录制闪烁动画 */
397
+ .zwp-live-recording-indicator.audio-recording.recording {
398
+ animation: audio-recording-pulse 1.2s ease-in-out infinite;
399
+ }
400
+
401
+ @keyframes audio-recording-pulse {
402
+ 0% {
403
+ opacity: 1;
404
+ transform: scale(1);
405
+ box-shadow: 0 0 8px rgba(0, 255, 0, 0.9);
406
+ }
407
+ 50% {
408
+ opacity: 0.4;
409
+ transform: scale(0.6);
410
+ box-shadow: 0 0 4px rgba(0, 255, 0, 0.5);
411
+ }
412
+ 100% {
413
+ opacity: 1;
414
+ transform: scale(1);
415
+ box-shadow: 0 0 8px rgba(0, 255, 0, 0.9);
416
+ }
417
+ }
418
+
419
+ /* 录制选项菜单样式 */
420
+ .zwp-recording-options-menu {
421
+ font-family: Arial, sans-serif;
422
+ font-size: 13px;
423
+ line-height: 1.4;
424
+ user-select: none;
425
+ -webkit-user-select: none;
426
+ -moz-user-select: none;
427
+ -ms-user-select: none;
428
+ }
429
+
430
+ .zwp-recording-option:hover {
431
+ background: rgba(255, 255, 255, 0.1) !important;
432
+ }
433
+
434
+ .zwp-recording-option span {
435
+ margin-right: 8px;
436
+ font-size: 14px;
437
+ }
438
+
439
+ /* 确保录制按钮容器支持绝对定位 */
440
+ .zwp-recordButton {
441
+ position: relative;
442
+ }
443
+
321
444
  /*-----end for icon-------------*/
322
445
 
323
446
  .zwp-wrap.hide-cursor, .zwp-wrap.hide-cursor * {
@@ -325,26 +448,26 @@
325
448
  }
326
449
 
327
450
  .zwp-wrap.zwp-fullscreen-win {
328
- position: fixed;
329
- left: 0 !important;
330
- top: 0 !important;
331
- width: 100%!important;
332
- height: 100%!important;
333
- padding-top: 0!important;
334
- z-index: 20000;
451
+ position: fixed;
452
+ left: 0 !important;
453
+ top: 0 !important;
454
+ width: 100% !important;
455
+ height: 100% !important;
456
+ padding-top: 0 !important;
457
+ z-index: 20000;
335
458
  }
336
459
 
337
460
  .zwp-wrap .zwp-controlbar {
338
- position: absolute;
339
- height: 48px;
340
- width: 100%;
341
- bottom: 0;
342
- background: #19191975;
343
- z-index: 3;
344
- box-sizing: border-box;
345
- padding: 6px 10px;
346
- display: flex;
347
- background-image: linear-gradient(180deg,transparent,rgba(0,0,0,.15),rgba(0,0,0,.50),rgba(0,0,0,.30));
461
+ position: absolute;
462
+ height: 48px;
463
+ width: 100%;
464
+ bottom: 0;
465
+ background: #19191975;
466
+ z-index: 3;
467
+ box-sizing: border-box;
468
+ padding: 6px 10px;
469
+ display: flex;
470
+ background-image: linear-gradient(180deg, transparent, rgba(0, 0, 0, .15), rgba(0, 0, 0, .50), rgba(0, 0, 0, .30));
348
471
  }
349
472
 
350
473
  .zwp-wrap .zwp-controlbar.zwp-vodplayer {
@@ -411,7 +534,7 @@
411
534
  }
412
535
 
413
536
  .zwp-wrap .zwp-controlbar .zwp-button > button:focus {
414
- outline: none;
537
+ outline: none;
415
538
  }
416
539
 
417
540
  .zwp-wrap .zwp-controlbar .zwp-button:not(.zwp_disabled) > button:hover {
@@ -768,6 +891,7 @@
768
891
  padding-bottom: 0px;
769
892
  bottom: 40px;
770
893
  height: 20px;
894
+ /* 确保作为片段选择器的定位参考 */
771
895
  }
772
896
 
773
897
  .zwp__time-rail.has-duration {
@@ -801,7 +925,7 @@
801
925
  }
802
926
 
803
927
  .zwp__time_divider {
804
-
928
+
805
929
  }
806
930
 
807
931
  .zwp__time {
@@ -1386,8 +1510,8 @@
1386
1510
  padding: 6px 0px;
1387
1511
  margin: 0;
1388
1512
  border-radius: 3px;
1389
- width: 160px;
1390
- left: -62px;
1513
+ width: 200px;
1514
+ left: -82px;
1391
1515
  display: none;
1392
1516
  z-index: 1;
1393
1517
  min-height: 120px;
@@ -1462,12 +1586,56 @@
1462
1586
  display: block;
1463
1587
  }
1464
1588
 
1589
+ .zwp-popupwindow.zwp-volumeBoostPanel {
1590
+ width: 360px;
1591
+ right: 30px;
1592
+ bottom: 70px;
1593
+ }
1594
+
1465
1595
  .zwp-popupwindow.zwp-colorSettingPanel {
1466
1596
  width: 360px;
1467
1597
  right: 30px;
1468
1598
  bottom: 70px;
1469
1599
  }
1470
1600
 
1601
+ /* 滑动条范围标签样式 */
1602
+ .zwp-slider-min-label,
1603
+ .zwp-slider-max-label {
1604
+ color: rgba(255, 255, 255, 0.7);
1605
+ font-size: 11px;
1606
+ padding: 2px 4px;
1607
+ flex-shrink: 0;
1608
+ }
1609
+
1610
+ .zwp-slider-min-label {
1611
+ margin-right: 8px;
1612
+ }
1613
+
1614
+ .zwp-slider-max-label {
1615
+ margin-left: 8px;
1616
+ }
1617
+
1618
+ .zwp-popupwindow .row-content {
1619
+ display: flex;
1620
+ align-items: center;
1621
+ }
1622
+
1623
+ .zwp-popupwindow .row-content .zwp-slider {
1624
+ flex-grow: 1;
1625
+ margin: 0 8px;
1626
+ }
1627
+
1628
+ .zwp-popupwindow .row-content .zwp-slider-value {
1629
+ flex-shrink: 0;
1630
+ min-width: 35px;
1631
+ text-align: center;
1632
+ background-color: rgba(255, 255, 255, 0.1);
1633
+ border-radius: 3px;
1634
+ padding: 2px 4px;
1635
+ font-size: 11px;
1636
+ font-family: 'Courier New', monospace;
1637
+ }
1638
+
1471
1639
  .zwp-popupwindow .form-row {
1472
1640
  line-height: 24px;
1473
1641
  padding: 3px 12px;
@@ -1598,7 +1766,7 @@
1598
1766
  }
1599
1767
 
1600
1768
  .zwp-chapterlist li:hover .title {
1601
-
1769
+
1602
1770
  }
1603
1771
 
1604
1772
  .zwp-chapterlist li .item-content {
@@ -1657,23 +1825,23 @@
1657
1825
  }
1658
1826
 
1659
1827
  .zwp-wrap .zwp__layers .danmuplayer .danmu-layer .danmu {
1660
- position: absolute;
1661
- display: inline-block;
1662
- white-space: pre;
1663
- pointer-events: none;
1828
+ position: absolute;
1829
+ display: inline-block;
1830
+ white-space: pre;
1831
+ pointer-events: none;
1664
1832
  /*opacity: 0.80;*/
1665
- text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px;
1666
- /*transform: translateX(-1053px);
1833
+ text-shadow: rgb(0, 0, 0) 1px 0px 1px, rgb(0, 0, 0) 0px 1px 1px, rgb(0, 0, 0) 0px -1px 1px, rgb(0, 0, 0) -1px 0px 1px;
1834
+ /*transform: translateX(-1053px);
1667
1835
  transition: transform 8.1s linear;
1668
1836
 
1669
1837
  /*-dynamic-*/
1670
- left: 979.435px;
1671
- top: 0px;
1838
+ left: 979.435px;
1839
+ top: 0px;
1672
1840
  font-weight: bold;
1673
- line-height: 1.125;
1674
- color: rgb(255, 255, 255);
1675
- font-size: 20px;
1676
- font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif;
1841
+ line-height: 1.125;
1842
+ color: rgb(255, 255, 255);
1843
+ font-size: 20px;
1844
+ font-family: SimHei, "Microsoft JhengHei", Arial, Helvetica, sans-serif;
1677
1845
  }
1678
1846
 
1679
1847
  .zwp-wrap .zwp__layers .danmuplayer .danmu-layer .danmu span {
@@ -1756,7 +1924,7 @@
1756
1924
  }
1757
1925
 
1758
1926
  .zwp-wrap .zwp-subtitles-show .zwp-simple-subtitles-viever {
1759
-
1927
+
1760
1928
  }
1761
1929
  /*subtitles end */
1762
1930
 
@@ -1859,7 +2027,7 @@ input[type=range].zwp-slider::-webkit-slider-thumb {
1859
2027
  box-sizing: border-box;
1860
2028
  -webkit-appearance: none !important;
1861
2029
  }
1862
-
2030
+
1863
2031
  input[type=range].zwp-slider::-webkit-slider-thumb:active {
1864
2032
  border: 0;
1865
2033
  background-color: #1fb5f9;
@@ -1975,12 +2143,12 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
1975
2143
  background-color: #4c4e59bf;
1976
2144
  color: #e4e3e3;
1977
2145
  }
1978
-
2146
+
1979
2147
  .zwp-barrage_form .btn_submit:active {
1980
2148
  background-color: #585858;
1981
2149
  color: #d4d3d3;
1982
2150
  }
1983
-
2151
+
1984
2152
  .zwp-barrage_form .barrage_star {
1985
2153
  display:none;
1986
2154
  }
@@ -1999,7 +2167,7 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
1999
2167
  .zwp-barrage_form .barrage_login .barrage_text {
2000
2168
  color: #bbb;
2001
2169
  padding-right:4px;
2002
-
2170
+
2003
2171
  }
2004
2172
 
2005
2173
  .zwp-barrage_form .zwp-barrage_inp.logined .barrage_login {
@@ -2816,7 +2984,7 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
2816
2984
  }
2817
2985
 
2818
2986
  .zwp-toast .zwp-toast-text {
2819
-
2987
+
2820
2988
  }
2821
2989
 
2822
2990
  .zwp-toast .zwp-toast-closebtn {
@@ -2876,7 +3044,7 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
2876
3044
  }
2877
3045
 
2878
3046
  .zwp-toast.zwp-confirm .closeBtn:hover {
2879
-
3047
+
2880
3048
  }
2881
3049
 
2882
3050
  .zwp-toast.zwp-confirm .zwp-toast-text{
@@ -2980,13 +3148,14 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
2980
3148
  }
2981
3149
 
2982
3150
  .zwp-popupmenu .zwp-menuitem .zwp-menuicon {
2983
-
3151
+
2984
3152
  }
2985
3153
 
2986
3154
  .zwp-popupmenu .zwp-menuitem .zwp-menucaption {
2987
-
3155
+
2988
3156
  }
2989
3157
 
3158
+
2990
3159
  .zwp-wrap .zwp__layers .zwp-logo {
2991
3160
  position: absolute;
2992
3161
  right: 5%;
@@ -3006,7 +3175,7 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
3006
3175
 
3007
3176
  .zwp-liteicon {
3008
3177
  display: inline-block;
3009
-
3178
+
3010
3179
  }
3011
3180
 
3012
3181
  .zwp-liteicon .xicon {
@@ -3131,3 +3300,524 @@ input[type=range].zwp-slider::-webkit-slider-thumb:active {
3131
3300
  }
3132
3301
 
3133
3302
  /* small window end */
3303
+
3304
+ /* DRAGDROP: Drag and Drop Styles */
3305
+ .zwp-drag-over {
3306
+ border: 3px dashed #007bff !important;
3307
+ background-color: rgba(0, 123, 255, 0.1) !important;
3308
+ transition: all 0.3s ease !important;
3309
+ }
3310
+
3311
+ .zwp-drag-over::before {
3312
+ content: '拖拽视音频文件到此处播放' !important;
3313
+ position: absolute !important;
3314
+ top: 50% !important;
3315
+ left: 50% !important;
3316
+ transform: translate(-50%, -50%) !important;
3317
+ background-color: rgba(0, 0, 0, 0.8) !important;
3318
+ color: white !important;
3319
+ padding: 20px 30px !important;
3320
+ border-radius: 8px !important;
3321
+ font-size: 16px !important;
3322
+ z-index: 9999 !important;
3323
+ pointer-events: none !important;
3324
+ white-space: nowrap !important;
3325
+ font-family: Arial, sans-serif !important;
3326
+ }
3327
+
3328
+ /* Hide drag-over prompt when local playback hint is visible to avoid duplicate prompts */
3329
+ .zwp-drag-over.zwp-drag-over-no-prompt::before {
3330
+ display: none !important;
3331
+ }
3332
+
3333
+ /* drag and drop end */
3334
+
3335
+ /* local playback hint start */
3336
+ .zwp-local-playback-hint {
3337
+ display: flex !important;
3338
+ flex-direction: column !important;
3339
+ align-items: center !important;
3340
+ justify-content: center !important;
3341
+ position: absolute !important;
3342
+ top: 50% !important;
3343
+ left: 50% !important;
3344
+ transform: translate(-50%, -50%) !important;
3345
+ text-align: center !important;
3346
+ color: white !important;
3347
+ font-family: Arial, "Microsoft YaHei", sans-serif !important;
3348
+ pointer-events: auto !important;
3349
+ z-index: 100 !important;
3350
+ cursor: pointer !important;
3351
+ transition: all 0.3s ease !important;
3352
+ border-radius: 12px !important;
3353
+ padding: 30px 20px !important;
3354
+ background-color: rgba(0, 0, 0, 0.6) !important;
3355
+ border: 2px solid rgba(255, 255, 255, 0.2) !important;
3356
+ backdrop-filter: blur(5px) !important;
3357
+ }
3358
+
3359
+ .zwp-local-playback-hint:hover {
3360
+ background-color: rgba(0, 123, 255, 0.3) !important;
3361
+ border-color: rgba(0, 123, 255, 0.6) !important;
3362
+ transform: translate(-50%, -50%) scale(1.05) !important;
3363
+ box-shadow: 0 8px 25px rgba(0, 123, 255, 0.4) !important;
3364
+ }
3365
+
3366
+ .zwp-local-playback-hint:active {
3367
+ transform: translate(-50%, -50%) scale(0.98) !important;
3368
+ }
3369
+
3370
+ .zwp-local-playback-text {
3371
+ font-size: 24px !important;
3372
+ font-weight: bold !important;
3373
+ margin-bottom: 10px !important;
3374
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7) !important;
3375
+ opacity: 0.9 !important;
3376
+ }
3377
+
3378
+ .zwp-local-playback-subtitle {
3379
+ font-size: 14px !important;
3380
+ opacity: 0.7 !important;
3381
+ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !important;
3382
+ max-width: 80% !important;
3383
+ line-height: 1.4 !important;
3384
+ }
3385
+
3386
+ /* Mobile responsive styles for local playback hint */
3387
+ @media screen and (max-width: 1200px) {
3388
+ .zwp-local-playback-text {
3389
+ font-size: 18px !important;
3390
+ line-height: 1.3 !important;
3391
+ padding: 0 5px !important;
3392
+ }
3393
+
3394
+ .zwp-local-playback-subtitle {
3395
+ font-size: 13px !important;
3396
+ line-height: 1.3 !important;
3397
+ padding: 0 5px !important;
3398
+ }
3399
+ }
3400
+
3401
+ @media screen and (max-width: 768px) {
3402
+ .zwp-local-playback-hint {
3403
+ padding: 20px 15px !important;
3404
+ width: 90% !important;
3405
+ max-width: 320px !important;
3406
+ }
3407
+
3408
+ .zwp-local-playback-text {
3409
+ font-size: 16px !important;
3410
+ margin-bottom: 8px !important;
3411
+ text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8) !important;
3412
+ line-height: 1.3 !important;
3413
+ padding: 0 5px !important;
3414
+ }
3415
+
3416
+ .zwp-local-playback-subtitle {
3417
+ font-size: 12px !important;
3418
+ max-width: 90% !important;
3419
+ padding: 0 5px !important;
3420
+ }
3421
+ }
3422
+
3423
+ @media screen and (max-width: 600px) {
3424
+ .zwp-local-playback-text {
3425
+ font-size: 15px !important;
3426
+ margin-bottom: 7px !important;
3427
+ text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8) !important;
3428
+ padding: 0 4px !important;
3429
+ }
3430
+
3431
+ .zwp-local-playback-subtitle {
3432
+ font-size: 11px !important;
3433
+ max-width: 92% !important;
3434
+ padding: 0 4px !important;
3435
+ }
3436
+ }
3437
+
3438
+ @media screen and (max-width: 480px) {
3439
+ .zwp-local-playback-hint {
3440
+ padding: 15px 10px !important;
3441
+ width: 95% !important;
3442
+ max-width: 280px !important;
3443
+ }
3444
+
3445
+ .zwp-local-playback-text {
3446
+ font-size: 14px !important;
3447
+ margin-bottom: 6px !important;
3448
+ text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.9) !important;
3449
+ padding: 0 3px !important;
3450
+ }
3451
+
3452
+ .zwp-local-playback-subtitle {
3453
+ font-size: 11px !important;
3454
+ max-width: 95% !important;
3455
+ padding: 0 3px !important;
3456
+ }
3457
+ }
3458
+
3459
+ @media screen and (max-width: 400px) {
3460
+ .zwp-local-playback-text {
3461
+ font-size: 13px !important;
3462
+ margin-bottom: 5px !important;
3463
+ padding: 0 2px !important;
3464
+ }
3465
+
3466
+ .zwp-local-playback-subtitle {
3467
+ font-size: 10px !important;
3468
+ max-width: 98% !important;
3469
+ padding: 0 2px !important;
3470
+ }
3471
+ }
3472
+
3473
+ @media screen and (max-width: 360px) {
3474
+ .zwp-local-playback-hint {
3475
+ padding: 12px 8px !important;
3476
+ width: 98% !important;
3477
+ max-width: 260px !important;
3478
+ }
3479
+
3480
+ .zwp-local-playback-text {
3481
+ font-size: 12px !important;
3482
+ margin-bottom: 4px !important;
3483
+ padding: 0 2px !important;
3484
+ }
3485
+
3486
+ .zwp-local-playback-subtitle {
3487
+ font-size: 9px !important;
3488
+ padding: 0 2px !important;
3489
+ }
3490
+ }
3491
+
3492
+ @media screen and (max-device-width: 480px) and (orientation: portrait) {
3493
+ .zwp-local-playback-text {
3494
+ font-size: 14px !important;
3495
+ padding: 0 8px !important;
3496
+ }
3497
+
3498
+ .zwp-local-playback-subtitle {
3499
+ font-size: 11px !important;
3500
+ padding: 0 8px !important;
3501
+ max-width: 90% !important;
3502
+ }
3503
+ }
3504
+
3505
+ @media (hover: none) and (pointer: coarse) {
3506
+ .zwp-local-playback-text {
3507
+ font-size: 16px !important;
3508
+ padding: 0 5px !important;
3509
+ }
3510
+
3511
+ .zwp-local-playback-subtitle {
3512
+ font-size: 12px !important;
3513
+ padding: 0 5px !important;
3514
+ }
3515
+ }
3516
+
3517
+ /* local playback hint end */
3518
+
3519
+ /* local playback button start */
3520
+ .zwp-localPlaybackBtn svg {
3521
+ width: 20px !important;
3522
+ height: 20px !important;
3523
+ }
3524
+
3525
+ .zwp-localPlaybackBtn:hover svg {
3526
+ opacity: 0.8;
3527
+ }
3528
+
3529
+ .zwp-localPlaybackBtn:active svg {
3530
+ opacity: 0.6;
3531
+ }
3532
+
3533
+ /* local playback button end */
3534
+
3535
+ /* recording settings panel start */
3536
+ .zwp-popupwindow.zwp-recordingSettingsPanel {
3537
+ width: 360px;
3538
+ right: 30px;
3539
+ bottom: 70px;
3540
+ }
3541
+
3542
+ /* recording radio group styles */
3543
+ .zwp-radio-group {
3544
+ display: flex;
3545
+ flex-direction: column;
3546
+ gap: 8px;
3547
+ padding: 8px 0;
3548
+ }
3549
+
3550
+ .zwp-radio-item {
3551
+ display: flex;
3552
+ align-items: center;
3553
+ gap: 8px;
3554
+ cursor: pointer;
3555
+ padding: 4px 0;
3556
+ }
3557
+
3558
+ .zwp-radio-item input[type="radio"] {
3559
+ margin: 0;
3560
+ width: 16px;
3561
+ height: 16px;
3562
+ }
3563
+
3564
+ .zwp-radio-label {
3565
+ flex-grow: 1;
3566
+ font-size: 14px;
3567
+ }
3568
+
3569
+ .recording-note {
3570
+ border-top: 1px solid rgb(255 255 255 / 10%);
3571
+ padding-top: 8px;
3572
+ margin-top: 8px;
3573
+ }
3574
+
3575
+ .zwp-note-text {
3576
+ font-size: 12px;
3577
+ color: rgba(255, 255, 255, 0.6);
3578
+ line-height: 1.4;
3579
+ text-align: center;
3580
+ white-space: nowrap;
3581
+ padding: 0 8px;
3582
+ }
3583
+
3584
+ /* recording settings panel end */
3585
+
3586
+ /* keyboard shortcuts help panel start */
3587
+ .zwp-popupwindow.zwp-shortcutHelpPanel {
3588
+ width: 400px;
3589
+ right: 30px;
3590
+ bottom: 70px;
3591
+ max-height: 70vh;
3592
+ overflow-y: auto;
3593
+ overflow-x: hidden;
3594
+ }
3595
+
3596
+ /* 快捷键面板滚动条样式 */
3597
+ .zwp-popupwindow.zwp-shortcutHelpPanel::-webkit-scrollbar {
3598
+ width: 6px;
3599
+ }
3600
+
3601
+ .zwp-popupwindow.zwp-shortcutHelpPanel::-webkit-scrollbar-track {
3602
+ background: rgba(255, 255, 255, 0.05);
3603
+ border-radius: 3px;
3604
+ }
3605
+
3606
+ .zwp-popupwindow.zwp-shortcutHelpPanel::-webkit-scrollbar-thumb {
3607
+ background: rgba(255, 255, 255, 0.2);
3608
+ border-radius: 3px;
3609
+ transition: background-color 0.2s ease;
3610
+ }
3611
+
3612
+ .zwp-popupwindow.zwp-shortcutHelpPanel::-webkit-scrollbar-thumb:hover {
3613
+ background: rgba(255, 255, 255, 0.3);
3614
+ }
3615
+
3616
+ .zwp-shortcutHelpPanel .shortcut-list {
3617
+ padding: 6px 0;
3618
+ max-height: 300px;
3619
+ overflow-y: auto;
3620
+ }
3621
+
3622
+ /* 快捷键列表滚动条样式 */
3623
+ .zwp-shortcutHelpPanel .shortcut-list::-webkit-scrollbar {
3624
+ width: 6px;
3625
+ }
3626
+
3627
+ .zwp-shortcutHelpPanel .shortcut-list::-webkit-scrollbar-track {
3628
+ background: rgba(255, 255, 255, 0.05);
3629
+ border-radius: 3px;
3630
+ }
3631
+
3632
+ .zwp-shortcutHelpPanel .shortcut-list::-webkit-scrollbar-thumb {
3633
+ background: rgba(255, 255, 255, 0.2);
3634
+ border-radius: 3px;
3635
+ transition: background-color 0.2s ease;
3636
+ }
3637
+
3638
+ .zwp-shortcutHelpPanel .shortcut-list::-webkit-scrollbar-thumb:hover {
3639
+ background: rgba(255, 255, 255, 0.3);
3640
+ }
3641
+
3642
+ .zwp-shortcutHelpPanel .shortcut-item {
3643
+ display: flex;
3644
+ align-items: center;
3645
+ padding: 4px 8px;
3646
+ border-bottom: 1px solid rgba(255, 255, 255, 0.05);
3647
+ transition: background-color 0.2s ease;
3648
+ }
3649
+
3650
+ .zwp-shortcutHelpPanel .shortcut-item:hover {
3651
+ background-color: rgba(255, 255, 255, 0.05);
3652
+ }
3653
+
3654
+ .zwp-shortcutHelpPanel .shortcut-item:last-child {
3655
+ border-bottom: none;
3656
+ }
3657
+
3658
+ .zwp-shortcutHelpPanel .shortcut-key {
3659
+ flex: 0 0 100px;
3660
+ background-color: rgba(255, 255, 255, 0.1);
3661
+ border: 1px solid rgba(255, 255, 255, 0.2);
3662
+ border-radius: 3px;
3663
+ padding: 3px 6px;
3664
+ margin-right: 10px;
3665
+ text-align: center;
3666
+ font-family: 'Courier New', monospace;
3667
+ font-size: 11px;
3668
+ font-weight: bold;
3669
+ color: #fff;
3670
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
3671
+ line-height: 1.2;
3672
+ }
3673
+
3674
+ .zwp-shortcutHelpPanel .shortcut-desc {
3675
+ flex: 1;
3676
+ font-size: 12px;
3677
+ line-height: 1.3;
3678
+ color: rgba(255, 255, 255, 0.9);
3679
+ }
3680
+
3681
+ /* keyboard shortcuts help panel end */
3682
+
3683
+ /* --- 片段选择器样式 --- */
3684
+ .zwp-segment-layer {
3685
+ position: absolute;
3686
+ top: -10px;
3687
+ bottom: -5px;
3688
+ left: 0;
3689
+ width: 100%;
3690
+ pointer-events: none;
3691
+ display: none;
3692
+ z-index: 25;
3693
+ }
3694
+
3695
+ .zwp-segment-layer.active {
3696
+ display: block;
3697
+ }
3698
+
3699
+ .zwp-segment-handle {
3700
+ position: absolute;
3701
+ top: 50%;
3702
+ width: 12px;
3703
+ height: 28px;
3704
+ background: #fff;
3705
+ cursor: ew-resize;
3706
+ pointer-events: auto;
3707
+ z-index: 30;
3708
+ transform: translateX(-50%) translateY(-50%);
3709
+ box-shadow: 0 0 4px rgba(0,0,0,0.5);
3710
+ border-radius: 2px;
3711
+ }
3712
+
3713
+ .zwp-segment-handle::after {
3714
+ content: '';
3715
+ position: absolute;
3716
+ left: 50%;
3717
+ top: 50%;
3718
+ transform: translate(-50%, -50%);
3719
+ width: 2px;
3720
+ height: 12px;
3721
+ background: #ccc;
3722
+ }
3723
+
3724
+ .zwp-segment-selection {
3725
+ position: absolute;
3726
+ top: 50%;
3727
+ left: 0;
3728
+ right: 0;
3729
+ height: 20px;
3730
+ background: rgba(255, 255, 255, 0.4);
3731
+ z-index: 18;
3732
+ transform: translateY(-50%);
3733
+ }
3734
+
3735
+ .zwp-segmentButton.active .zwp-segmentBtn {
3736
+ color: #ff4444;
3737
+ }
3738
+
3739
+ /* 片段选择激活时的进度条样式 */
3740
+ .zwp__time-rail.segment-active .zwp__time-total {
3741
+ background: rgba(255, 255, 255, 0.3);
3742
+ opacity: 0.6;
3743
+ }
3744
+
3745
+ .zwp__time-rail.segment-active .zwp__time-loaded {
3746
+ background: rgba(255, 255, 255, 0.4);
3747
+ opacity: 0.7;
3748
+ }
3749
+
3750
+ /* 片段选择激活时的进度条悬停效果 */
3751
+ .zwp__time-rail.segment-active:hover .zwp__time-total {
3752
+ background: rgba(255, 255, 255, 0.4);
3753
+ opacity: 0.7;
3754
+ }
3755
+
3756
+ /* 片段选择激活时,突出显示选中区域 */
3757
+ .zwp__time-rail.segment-active .zwp-segment-selection {
3758
+ background: rgba(255, 255, 255, 0.6);
3759
+ border: 1px solid rgba(255, 255, 255, 0.8);
3760
+ }
3761
+
3762
+ /* 确保选中区域在视觉上突出 */
3763
+ .zwp__time-rail.segment-active .zwp-segment-handle {
3764
+ background: #fff;
3765
+ border: 1px solid rgba(0, 0, 0, 0.3);
3766
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
3767
+ }
3768
+
3769
+ /* 片段拖拽时间提示框 */
3770
+ .zwp-segment-tooltip {
3771
+ position: absolute;
3772
+ top: 0px;
3773
+ left: 0;
3774
+ transform: translateX(-50%) translateY(-100%);
3775
+ background: rgba(0, 0, 0, 0.9);
3776
+ color: #fff;
3777
+ font-size: 12px;
3778
+ font-family: Arial, sans-serif;
3779
+ padding: 6px 10px;
3780
+ border-radius: 4px;
3781
+ white-space: nowrap;
3782
+ z-index: 35;
3783
+ pointer-events: none;
3784
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
3785
+ border: 1px solid rgba(255, 255, 255, 0.2);
3786
+ margin-top: -8px;
3787
+ }
3788
+
3789
+ /* 时间提示框的三角形指示器 */
3790
+ .zwp-segment-tooltip::after {
3791
+ content: '';
3792
+ position: absolute;
3793
+ top: 100%;
3794
+ left: 50%;
3795
+ transform: translateX(-50%);
3796
+ border: 6px solid transparent;
3797
+ border-top-color: rgba(0, 0, 0, 0.9);
3798
+ }
3799
+
3800
+ /* 开始滑块提示框的样式 */
3801
+ .zwp-segment-tooltip.start-handle {
3802
+ background: rgba(33, 150, 243, 0.9);
3803
+ border-color: rgba(33, 150, 243, 0.3);
3804
+ }
3805
+
3806
+ .zwp-segment-tooltip.start-handle::after {
3807
+ border-top-color: rgba(33, 150, 243, 0.9);
3808
+ }
3809
+
3810
+ /* 结束滑块提示框的样式 */
3811
+ .zwp-segment-tooltip.end-handle {
3812
+ background: rgba(244, 67, 54, 0.9);
3813
+ border-color: rgba(244, 67, 54, 0.3);
3814
+ }
3815
+
3816
+ .zwp-segment-tooltip.end-handle::after {
3817
+ border-top-color: rgba(244, 67, 54, 0.9);
3818
+ }
3819
+
3820
+ /* 确保时间轨道可以作为绝对定位的参考 */
3821
+ .zwp__time-rail {
3822
+ /* 已经是absolute定位,不需要修改 */
3823
+ }