unified-video-framework 1.4.196 → 1.4.198

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unified-video-framework",
3
- "version": "1.4.196",
3
+ "version": "1.4.198",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -101,6 +101,8 @@ export declare class WebPlayer extends BasePlayer {
101
101
  private setupAutoplayRetry;
102
102
  private showPlayOverlay;
103
103
  private hidePlayOverlay;
104
+ private showUnmuteButton;
105
+ private hideUnmuteButton;
104
106
  private updateTimeTooltip;
105
107
  private hideTimeTooltip;
106
108
  private setupUserInteractionTracking;
@@ -226,6 +228,7 @@ export declare class WebPlayer extends BasePlayer {
226
228
  private setSubtitle;
227
229
  private _updateCastActiveTracks;
228
230
  private onCastButtonClick;
231
+ private showAirPlayPicker;
229
232
  private stopCasting;
230
233
  private initCast;
231
234
  private shareVideo;
@@ -1 +1 @@
1
- {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAOL,OAAO,EACP,cAAc,EACf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EAEb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,GAAG,EAAE,GAAG,CAAC;QACT,MAAM,EAAE,GAAG,CAAC;QACZ,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;KACxD;CACF;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAChD,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,UAAU,CAAkB;IAGpC,OAAO,CAAC,cAAc,CAKpB;IACF,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAkB;IAG3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,yBAAyB,CAAa;IAC9C,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,KAAK,CAAa;IAG1B,OAAO,CAAC,iBAAiB,CAAa;IAGtC,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,mBAAmB,CAAO;IAGlC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,mBAAmB,CAAa;IAGxC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,kBAAkB,CAAwB;IAGlD,OAAO,CAAC,oBAAoB,CAU1B;IACF,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAa;IAGvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,aAAa,CAAqC;IAG1D,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,SAAS;IAOX,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;cAsD9D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAwJ5C,OAAO,CAAC,wBAAwB;IAmIhC,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,oBAAoB;IAYtB,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDtC,OAAO,CAAC,gBAAgB;YAcV,OAAO;IAuErB,OAAO,CAAC,cAAc;YAyBR,QAAQ;IA4DtB,OAAO,CAAC,iBAAiB;YAQX,UAAU;IAMxB,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhD,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,0BAA0B;YAsBpB,0BAA0B;IAmExC,OAAO,CAAC,iBAAiB;YAmBX,0BAA0B;IAiDxC,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,eAAe;IAsIvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,4BAA4B;IAsB9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD3B,KAAK,IAAI,IAAI;IAkBN,YAAY,IAAI,IAAI;IAO3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAwBxB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9B,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAOd,cAAc,IAAI,MAAM;IAOxB,YAAY,IAAI,GAAG,EAAE;IAIrB,iBAAiB,IAAI,GAAG;IAIxB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW/B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOnC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAkBhC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA6GhC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkF/B,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3C,WAAW,IAAI,IAAI;IAUnB,iBAAiB,IAAI,IAAI;IAUzB,OAAO,CAAC,cAAc;YAmBR,0BAA0B;IAwCxC,OAAO,CAAC,eAAe;IAwCvB,uBAAuB,IAAI,IAAI;IA4D/B,OAAO,CAAC,4BAA4B;YAoEtB,gCAAgC;IAgBxC,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkGtD,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmC3C,4BAA4B,IAAI,IAAI;IA4D9B,gCAAgC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IA8DtE,0BAA0B,IAAI,IAAI;IAqK5B,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4C3C,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAc9C,SAAS,CAAC,eAAe,IAAI,IAAI;IASjC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAonFrB,OAAO,CAAC,uBAAuB;IA4DjC,OAAO,CAAC,oBAAoB;IAqV5B,OAAO,CAAC,2BAA2B;IA8dnC,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAsKxC,SAAS,CAAC,cAAc,IAAI,IAAI;IAmKzB,gBAAgB,CAAC,MAAM,EAAE,GAAG;IA2CnC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,sBAAsB;IAsDvB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAetC,oBAAoB,IAAI,IAAI;IAO5B,kBAAkB,IAAI,IAAI;IAOjC,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;YAYf,wBAAwB;YAuCxB,iBAAiB;IAmB/B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,wBAAwB;IAiOhC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,wBAAwB;IA4EhC,OAAO,CAAC,qBAAqB;IA8FtB,yBAAyB,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI;IAiBxE,0BAA0B,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAwB1F,OAAO,CAAC,oCAAoC;IAuB5C,OAAO,CAAC,mBAAmB;IAoF3B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,gBAAgB;IAiBX,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAWxC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYtC,WAAW,IAAI,YAAY,EAAE;IAW7B,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAW5D,WAAW,IAAI,OAAO;IAOtB,WAAW,IAAI,aAAa,GAAG,IAAI;IAOnC,eAAe,IAAI,OAAO,EAAE;IAO5B,eAAe,IAAI,cAAc,EAAE;IAOnC,qBAAqB,IAAI,OAAO,GAAG,IAAI;IAOvC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBtC,cAAc,IAAI,OAAO,GAAG,IAAI;IAUhC,kBAAkB,IAAI,OAAO,GAAG,IAAI;IAQpC,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IA2DjC,OAAO,CAAC,SAAS;IA8BjB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,iBAAiB;YAgCX,SAAS;IAYvB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,uBAAuB;IA6D/B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,qBAAqB;IAoH7B,OAAO,CAAC,wBAAwB;IA+ChC,OAAO,CAAC,wBAAwB;IA6BhC,OAAO,CAAC,2BAA2B;IAqDnC,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,WAAW;YAoBL,QAAQ;YAqGR,UAAU;IAqBxB,OAAO,CAAC,gBAAgB;IA2CxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,sBAAsB;IAiF9B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,4BAA4B;IAoDpC,OAAO,CAAC,oBAAoB;IA+BrB,aAAa,IAAI,IAAI;IAarB,aAAa,IAAI,IAAI;IAYrB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAe9B,kBAAkB,IAAI,OAAO;YAKtB,OAAO;IAgBf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAqD/B"}
1
+ {"version":3,"file":"WebPlayer.d.ts","sourceRoot":"","sources":["../src/WebPlayer.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,8 @@ export class WebPlayer extends BasePlayer {
159
159
  this.video.loop = this.config.loop ?? false;
160
160
  this.video.playsInline = this.config.playsInline ?? true;
161
161
  this.video.preload = this.config.preload ?? 'metadata';
162
+ this.video.webkitAllowsAirPlay = true;
163
+ this.video.setAttribute('x-webkit-airplay', 'allow');
162
164
  if (this.config.crossOrigin) {
163
165
  this.video.crossOrigin = this.config.crossOrigin;
164
166
  }
@@ -712,6 +714,7 @@ export class WebPlayer extends BasePlayer {
712
714
  try {
713
715
  await this.play();
714
716
  this.debugLog('✅ Muted autoplay successful');
717
+ this.showUnmuteButton();
715
718
  return true;
716
719
  }
717
720
  catch (error) {
@@ -874,6 +877,110 @@ export class WebPlayer extends BasePlayer {
874
877
  overlay.remove();
875
878
  }
876
879
  }
880
+ showUnmuteButton() {
881
+ this.hideUnmuteButton();
882
+ this.debugLog('🔇 Showing unmute button - video autoplaying muted');
883
+ const unmuteBtn = document.createElement('button');
884
+ unmuteBtn.id = 'uvf-unmute-btn';
885
+ unmuteBtn.className = 'uvf-unmute-btn';
886
+ unmuteBtn.setAttribute('aria-label', 'Tap to unmute');
887
+ unmuteBtn.innerHTML = `
888
+ <svg viewBox="0 0 24 24" class="uvf-unmute-icon">
889
+ <path d="M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z"/>
890
+ </svg>
891
+ <span class="uvf-unmute-text">Tap to unmute</span>
892
+ `;
893
+ unmuteBtn.addEventListener('click', (e) => {
894
+ e.stopPropagation();
895
+ if (this.video) {
896
+ this.video.muted = false;
897
+ this.debugLog('🔊 Video unmuted by user');
898
+ this.hideUnmuteButton();
899
+ }
900
+ });
901
+ const style = document.createElement('style');
902
+ style.textContent = `
903
+ .uvf-unmute-btn {
904
+ position: absolute !important;
905
+ bottom: 80px !important;
906
+ left: 20px !important;
907
+ z-index: 1000 !important;
908
+ display: flex !important;
909
+ align-items: center !important;
910
+ gap: 8px !important;
911
+ padding: 12px 16px !important;
912
+ background: rgba(0, 0, 0, 0.8) !important;
913
+ border: none !important;
914
+ border-radius: 4px !important;
915
+ color: white !important;
916
+ font-size: 14px !important;
917
+ font-weight: 500 !important;
918
+ cursor: pointer !important;
919
+ transition: all 0.2s ease !important;
920
+ backdrop-filter: blur(10px) !important;
921
+ -webkit-backdrop-filter: blur(10px) !important;
922
+ animation: uvf-unmute-pulse 2s ease-in-out infinite !important;
923
+ }
924
+
925
+ .uvf-unmute-btn:hover {
926
+ background: rgba(0, 0, 0, 0.9) !important;
927
+ transform: scale(1.05) !important;
928
+ }
929
+
930
+ .uvf-unmute-btn:active {
931
+ transform: scale(0.95) !important;
932
+ }
933
+
934
+ .uvf-unmute-icon {
935
+ width: 20px !important;
936
+ height: 20px !important;
937
+ fill: white !important;
938
+ }
939
+
940
+ .uvf-unmute-text {
941
+ white-space: nowrap !important;
942
+ }
943
+
944
+ @keyframes uvf-unmute-pulse {
945
+ 0%, 100% {
946
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
947
+ }
948
+ 50% {
949
+ box-shadow: 0 2px 16px rgba(255, 255, 255, 0.2) !important;
950
+ }
951
+ }
952
+
953
+ /* Mobile responsive */
954
+ @media (max-width: 767px) {
955
+ .uvf-unmute-btn {
956
+ bottom: 70px !important;
957
+ left: 50% !important;
958
+ transform: translateX(-50%) !important;
959
+ padding: 10px 14px !important;
960
+ font-size: 13px !important;
961
+ }
962
+
963
+ .uvf-unmute-btn:hover {
964
+ transform: translateX(-50%) scale(1.05) !important;
965
+ }
966
+ }
967
+ `;
968
+ if (!document.getElementById('uvf-unmute-styles')) {
969
+ style.id = 'uvf-unmute-styles';
970
+ document.head.appendChild(style);
971
+ }
972
+ if (this.playerWrapper) {
973
+ this.playerWrapper.appendChild(unmuteBtn);
974
+ this.debugLog('✅ Unmute button added to player');
975
+ }
976
+ }
977
+ hideUnmuteButton() {
978
+ const unmuteBtn = document.getElementById('uvf-unmute-btn');
979
+ if (unmuteBtn) {
980
+ unmuteBtn.remove();
981
+ this.debugLog('Unmute button removed');
982
+ }
983
+ }
877
984
  updateTimeTooltip(e) {
878
985
  const progressBar = document.getElementById('uvf-progress-bar');
879
986
  const tooltip = document.getElementById('uvf-time-tooltip');
@@ -3371,9 +3478,19 @@ export class WebPlayer extends BasePlayer {
3371
3478
  }
3372
3479
 
3373
3480
  .uvf-top-btn:hover {
3481
+ width: 40px;
3482
+ height: 40px;
3483
+ backdrop-filter: blur(10px);
3484
+ border: 1px solid rgba(255,255,255,0.2);
3485
+ border-radius: 50%;
3374
3486
  background: rgba(255,255,255,0.2);
3375
3487
  transform: scale(1.1);
3376
3488
  box-shadow: 0 0 20px rgba(255,255,255,0.3);
3489
+ cursor: pointer;
3490
+ display: flex;
3491
+ align-items: center;
3492
+ justify-content: center;
3493
+ transition: all 0.3s ease;
3377
3494
  }
3378
3495
 
3379
3496
  .uvf-top-btn.cast-grey {
@@ -3638,18 +3755,6 @@ export class WebPlayer extends BasePlayer {
3638
3755
  height: 24px;
3639
3756
  }
3640
3757
 
3641
- .uvf-player-wrapper.uvf-fullscreen .uvf-top-btn {
3642
- width: 40px;
3643
- height: 40px;
3644
- min-width: 40px;
3645
- min-height: 40px;
3646
- }
3647
-
3648
- .uvf-player-wrapper.uvf-fullscreen .uvf-top-btn svg {
3649
- width: 20px;
3650
- height: 20px;
3651
- }
3652
-
3653
3758
  .uvf-player-wrapper.uvf-fullscreen .uvf-time-display {
3654
3759
  font-size: 14px;
3655
3760
  padding: 0 10px;
@@ -3766,11 +3871,6 @@ export class WebPlayer extends BasePlayer {
3766
3871
  display: flex !important;
3767
3872
  }
3768
3873
 
3769
- .uvf-top-btn {
3770
- display: flex !important;
3771
- border-radius: 50% !important;
3772
- }
3773
-
3774
3874
  /* Show top bar when controls are visible or on hover */
3775
3875
  .uvf-player-wrapper:hover .uvf-top-bar,
3776
3876
  .uvf-player-wrapper.controls-visible .uvf-top-bar {
@@ -3874,18 +3974,6 @@ export class WebPlayer extends BasePlayer {
3874
3974
  gap: 6px !important;
3875
3975
  }
3876
3976
 
3877
- .uvf-top-btn {
3878
- width: 40px;
3879
- height: 40px;
3880
- min-width: 40px;
3881
- min-height: 40px;
3882
- }
3883
-
3884
- .uvf-top-btn svg {
3885
- width: 18px;
3886
- height: 18px;
3887
- }
3888
-
3889
3977
  /* Title bar within top bar - landscape */
3890
3978
  .uvf-top-bar .uvf-title-bar {
3891
3979
  padding: 0;
@@ -3971,19 +4059,6 @@ export class WebPlayer extends BasePlayer {
3971
4059
  height: 23px;
3972
4060
  }
3973
4061
 
3974
- /* Tablet top controls */
3975
- .uvf-top-btn {
3976
- width: 42px;
3977
- height: 42px;
3978
- min-width: 42px;
3979
- min-height: 42px;
3980
- }
3981
-
3982
- .uvf-top-btn svg {
3983
- width: 19px;
3984
- height: 19px;
3985
- }
3986
-
3987
4062
  /* Top bar for tablet */
3988
4063
  .uvf-top-bar {
3989
4064
  padding: 16px;
@@ -4122,23 +4197,6 @@ export class WebPlayer extends BasePlayer {
4122
4197
  height: 24px;
4123
4198
  }
4124
4199
 
4125
- /* Enhanced top controls */
4126
- .uvf-top-btn {
4127
- width: 40px;
4128
- height: 40px;
4129
- transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
4130
- }
4131
-
4132
- .uvf-top-btn:hover {
4133
- transform: scale(1.1);
4134
- background: var(--uvf-overlay-medium);
4135
- }
4136
-
4137
- .uvf-top-btn svg {
4138
- width: 20px;
4139
- height: 20px;
4140
- }
4141
-
4142
4200
  /* Top bar for desktop 1024px+ */
4143
4201
  .uvf-top-bar {
4144
4202
  padding: 20px;
@@ -4258,16 +4316,6 @@ export class WebPlayer extends BasePlayer {
4258
4316
  height: 28px;
4259
4317
  }
4260
4318
 
4261
- .uvf-top-btn {
4262
- width: 44px;
4263
- height: 44px;
4264
- }
4265
-
4266
- .uvf-top-btn svg {
4267
- width: 22px;
4268
- height: 22px;
4269
- }
4270
-
4271
4319
  .uvf-center-play-btn {
4272
4320
  width: clamp(64px, 10vw, 76px);
4273
4321
  height: clamp(64px, 10vw, 76px);
@@ -4308,8 +4356,7 @@ export class WebPlayer extends BasePlayer {
4308
4356
  /* High-DPI display optimizations */
4309
4357
  @media screen and (-webkit-min-device-pixel-ratio: 2),
4310
4358
  screen and (min-resolution: 192dpi) {
4311
- .uvf-control-btn,
4312
- .uvf-top-btn {
4359
+ .uvf-control-btn {
4313
4360
  image-rendering: -webkit-optimize-contrast;
4314
4361
  image-rendering: crisp-edges;
4315
4362
  }
@@ -4326,7 +4373,6 @@ export class WebPlayer extends BasePlayer {
4326
4373
  /* Reduced motion accessibility */
4327
4374
  @media (prefers-reduced-motion: reduce) {
4328
4375
  .uvf-control-btn,
4329
- .uvf-top-btn,
4330
4376
  .uvf-center-play-btn,
4331
4377
  .uvf-progress-handle,
4332
4378
  .uvf-volume-slider,
@@ -4335,7 +4381,6 @@ export class WebPlayer extends BasePlayer {
4335
4381
  }
4336
4382
 
4337
4383
  .uvf-control-btn:hover,
4338
- .uvf-top-btn:hover,
4339
4384
  .uvf-center-play-btn:hover {
4340
4385
  transform: none !important;
4341
4386
  }
@@ -4361,11 +4406,6 @@ export class WebPlayer extends BasePlayer {
4361
4406
  border-radius: 50%
4362
4407
  }
4363
4408
 
4364
- .uvf-top-btn {
4365
- min-width: 44px;
4366
- min-height: 44px;
4367
- }
4368
-
4369
4409
  .uvf-progress-bar {
4370
4410
  height: 3px;
4371
4411
  }
@@ -4384,22 +4424,21 @@ export class WebPlayer extends BasePlayer {
4384
4424
  background: var(--uvf-overlay-medium);
4385
4425
  transform: scale(0.95);
4386
4426
  }
4387
-
4388
- .uvf-top-btn:active {
4389
- background: var(--uvf-overlay-medium);
4390
- transform: scale(0.95);
4391
- }
4392
4427
  }
4393
4428
 
4394
4429
  /* Keyboard navigation and accessibility */
4395
4430
  .uvf-control-btn:focus-visible,
4396
- .uvf-top-btn:focus-visible,
4397
4431
  .uvf-center-play-btn:focus-visible {
4398
4432
  outline: 2px solid var(--uvf-primary-color, #007bff);
4399
4433
  outline-offset: 2px;
4400
4434
  background: var(--uvf-overlay-medium);
4401
4435
  }
4402
4436
 
4437
+ .uvf-top-btn:focus-visible {
4438
+ outline: 2px solid var(--uvf-primary-color, #007bff);
4439
+ outline-offset: 2px;
4440
+ }
4441
+
4403
4442
  .uvf-progress-bar-wrapper:focus-visible {
4404
4443
  outline: 2px solid var(--uvf-primary-color, #007bff);
4405
4444
  outline-offset: 2px;
@@ -4431,7 +4470,10 @@ export class WebPlayer extends BasePlayer {
4431
4470
 
4432
4471
  /* High contrast mode support */
4433
4472
  @media (prefers-contrast: high) {
4434
- .uvf-control-btn,
4473
+ .uvf-control-btn {
4474
+ border: 1px solid;
4475
+ }
4476
+
4435
4477
  .uvf-top-btn {
4436
4478
  border: 1px solid;
4437
4479
  }
@@ -5069,6 +5111,7 @@ export class WebPlayer extends BasePlayer {
5069
5111
  else {
5070
5112
  volumeIcon.style.display = 'block';
5071
5113
  muteIcon.style.display = 'none';
5114
+ this.hideUnmuteButton();
5072
5115
  }
5073
5116
  }
5074
5117
  });
@@ -5206,6 +5249,15 @@ export class WebPlayer extends BasePlayer {
5206
5249
  const castBtn = document.getElementById('uvf-cast-btn');
5207
5250
  const stopCastBtn = document.getElementById('uvf-stop-cast-btn');
5208
5251
  const shareBtn = document.getElementById('uvf-share-btn');
5252
+ if (this.isIOSDevice() && castBtn) {
5253
+ castBtn.innerHTML = `
5254
+ <svg viewBox="0 0 24 24">
5255
+ <path d="M1 18h6v-2H1v2zm0-4h12v-2H1v2zm16.5 4.5c-1.25 0-2.45-.5-3.35-1.41L12 18.5l2.09 2.09c1.8 1.8 4.72 1.8 6.52 0 1.8-1.8 1.8-4.72 0-6.52L12 5.5 3.39 14.11c-1.8 1.8-1.8 4.72 0 6.52.9.9 2.1 1.41 3.35 1.41l6.76-6.76M12 7.91l6.89 6.89c.78.78.78 2.05 0 2.83-.78.78-2.05.78-2.83 0L12 13.57 7.94 17.63c-.78.78-2.05.78-2.83 0-.78-.78-.78-2.05 0-2.83L12 7.91z"/>
5256
+ </svg>
5257
+ `;
5258
+ castBtn.setAttribute('title', 'AirPlay');
5259
+ castBtn.setAttribute('aria-label', 'AirPlay');
5260
+ }
5209
5261
  castBtn?.addEventListener('click', () => this.onCastButtonClick());
5210
5262
  stopCastBtn?.addEventListener('click', () => this.stopCasting());
5211
5263
  shareBtn?.addEventListener('click', () => this.shareVideo());
@@ -7156,6 +7208,10 @@ export class WebPlayer extends BasePlayer {
7156
7208
  catch (_) { }
7157
7209
  }
7158
7210
  onCastButtonClick() {
7211
+ if (this.isIOSDevice()) {
7212
+ this.showAirPlayPicker();
7213
+ return;
7214
+ }
7159
7215
  try {
7160
7216
  const castNs = window.cast;
7161
7217
  if (this.isCasting && castNs && castNs.framework) {
@@ -7167,6 +7223,27 @@ export class WebPlayer extends BasePlayer {
7167
7223
  catch (_) { }
7168
7224
  this.initCast();
7169
7225
  }
7226
+ showAirPlayPicker() {
7227
+ if (!this.video) {
7228
+ this.showNotification('Video not ready');
7229
+ return;
7230
+ }
7231
+ const videoElement = this.video;
7232
+ if (typeof videoElement.webkitShowPlaybackTargetPicker === 'function') {
7233
+ try {
7234
+ videoElement.webkitShowPlaybackTargetPicker();
7235
+ this.debugLog('AirPlay picker shown');
7236
+ }
7237
+ catch (error) {
7238
+ this.debugWarn('Failed to show AirPlay picker:', error.message);
7239
+ this.showNotification('AirPlay not available');
7240
+ }
7241
+ }
7242
+ else {
7243
+ this.debugWarn('AirPlay not supported on this device');
7244
+ this.showNotification('AirPlay not supported');
7245
+ }
7246
+ }
7170
7247
  stopCasting() {
7171
7248
  try {
7172
7249
  const castNs = window.cast;