unified-video-framework 1.4.195 → 1.4.197

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.195",
3
+ "version": "1.4.197",
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":"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"}
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;IA4J5C,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;IAmDxC,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,eAAe;IAsIvB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;IAgHxB,OAAO,CAAC,gBAAgB;IAQxB,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;IAyiFrB,OAAO,CAAC,uBAAuB;IA4DjC,OAAO,CAAC,oBAAoB;IAqV5B,OAAO,CAAC,2BAA2B;IA2enC,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;IAuBzB,OAAO,CAAC,iBAAiB;IAsBzB,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"}
@@ -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');
@@ -3638,18 +3745,6 @@ export class WebPlayer extends BasePlayer {
3638
3745
  height: 24px;
3639
3746
  }
3640
3747
 
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
3748
  .uvf-player-wrapper.uvf-fullscreen .uvf-time-display {
3654
3749
  font-size: 14px;
3655
3750
  padding: 0 10px;
@@ -3749,12 +3844,29 @@ export class WebPlayer extends BasePlayer {
3749
3844
  }
3750
3845
 
3751
3846
 
3752
- /* Mobile portrait - hide skip buttons */
3847
+ /* Mobile portrait - hide skip buttons, ensure top bar visible */
3753
3848
  @media screen and (max-width: 767px) and (orientation: portrait) {
3754
3849
  #uvf-skip-back,
3755
3850
  #uvf-skip-forward {
3756
3851
  display: none !important;
3757
3852
  }
3853
+
3854
+ /* Ensure top bar and controls are visible */
3855
+ .uvf-top-bar {
3856
+ display: flex !important;
3857
+ z-index: 10 !important;
3858
+ }
3859
+
3860
+ .uvf-top-controls {
3861
+ display: flex !important;
3862
+ }
3863
+
3864
+ /* Show top bar when controls are visible or on hover */
3865
+ .uvf-player-wrapper:hover .uvf-top-bar,
3866
+ .uvf-player-wrapper.controls-visible .uvf-top-bar {
3867
+ opacity: 1 !important;
3868
+ transform: translateY(0) !important;
3869
+ }
3758
3870
  }
3759
3871
 
3760
3872
  /* Mobile devices (landscape) - Optimized for fullscreen viewing with safe areas */
@@ -3852,18 +3964,6 @@ export class WebPlayer extends BasePlayer {
3852
3964
  gap: 6px !important;
3853
3965
  }
3854
3966
 
3855
- .uvf-top-btn {
3856
- width: 40px;
3857
- height: 40px;
3858
- min-width: 40px;
3859
- min-height: 40px;
3860
- }
3861
-
3862
- .uvf-top-btn svg {
3863
- width: 18px;
3864
- height: 18px;
3865
- }
3866
-
3867
3967
  /* Title bar within top bar - landscape */
3868
3968
  .uvf-top-bar .uvf-title-bar {
3869
3969
  padding: 0;
@@ -3949,19 +4049,6 @@ export class WebPlayer extends BasePlayer {
3949
4049
  height: 23px;
3950
4050
  }
3951
4051
 
3952
- /* Tablet top controls */
3953
- .uvf-top-btn {
3954
- width: 42px;
3955
- height: 42px;
3956
- min-width: 42px;
3957
- min-height: 42px;
3958
- }
3959
-
3960
- .uvf-top-btn svg {
3961
- width: 19px;
3962
- height: 19px;
3963
- }
3964
-
3965
4052
  /* Top bar for tablet */
3966
4053
  .uvf-top-bar {
3967
4054
  padding: 16px;
@@ -4100,23 +4187,6 @@ export class WebPlayer extends BasePlayer {
4100
4187
  height: 24px;
4101
4188
  }
4102
4189
 
4103
- /* Enhanced top controls */
4104
- .uvf-top-btn {
4105
- width: 40px;
4106
- height: 40px;
4107
- transition: all 0.2s cubic-bezier(0.4, 0.0, 0.2, 1);
4108
- }
4109
-
4110
- .uvf-top-btn:hover {
4111
- transform: scale(1.1);
4112
- background: var(--uvf-overlay-medium);
4113
- }
4114
-
4115
- .uvf-top-btn svg {
4116
- width: 20px;
4117
- height: 20px;
4118
- }
4119
-
4120
4190
  /* Top bar for desktop 1024px+ */
4121
4191
  .uvf-top-bar {
4122
4192
  padding: 20px;
@@ -4236,16 +4306,6 @@ export class WebPlayer extends BasePlayer {
4236
4306
  height: 28px;
4237
4307
  }
4238
4308
 
4239
- .uvf-top-btn {
4240
- width: 44px;
4241
- height: 44px;
4242
- }
4243
-
4244
- .uvf-top-btn svg {
4245
- width: 22px;
4246
- height: 22px;
4247
- }
4248
-
4249
4309
  .uvf-center-play-btn {
4250
4310
  width: clamp(64px, 10vw, 76px);
4251
4311
  height: clamp(64px, 10vw, 76px);
@@ -4286,8 +4346,7 @@ export class WebPlayer extends BasePlayer {
4286
4346
  /* High-DPI display optimizations */
4287
4347
  @media screen and (-webkit-min-device-pixel-ratio: 2),
4288
4348
  screen and (min-resolution: 192dpi) {
4289
- .uvf-control-btn,
4290
- .uvf-top-btn {
4349
+ .uvf-control-btn {
4291
4350
  image-rendering: -webkit-optimize-contrast;
4292
4351
  image-rendering: crisp-edges;
4293
4352
  }
@@ -4304,7 +4363,6 @@ export class WebPlayer extends BasePlayer {
4304
4363
  /* Reduced motion accessibility */
4305
4364
  @media (prefers-reduced-motion: reduce) {
4306
4365
  .uvf-control-btn,
4307
- .uvf-top-btn,
4308
4366
  .uvf-center-play-btn,
4309
4367
  .uvf-progress-handle,
4310
4368
  .uvf-volume-slider,
@@ -4313,7 +4371,6 @@ export class WebPlayer extends BasePlayer {
4313
4371
  }
4314
4372
 
4315
4373
  .uvf-control-btn:hover,
4316
- .uvf-top-btn:hover,
4317
4374
  .uvf-center-play-btn:hover {
4318
4375
  transform: none !important;
4319
4376
  }
@@ -4339,11 +4396,6 @@ export class WebPlayer extends BasePlayer {
4339
4396
  border-radius: 50%
4340
4397
  }
4341
4398
 
4342
- .uvf-top-btn {
4343
- min-width: 44px;
4344
- min-height: 44px;
4345
- }
4346
-
4347
4399
  .uvf-progress-bar {
4348
4400
  height: 3px;
4349
4401
  }
@@ -4362,22 +4414,21 @@ export class WebPlayer extends BasePlayer {
4362
4414
  background: var(--uvf-overlay-medium);
4363
4415
  transform: scale(0.95);
4364
4416
  }
4365
-
4366
- .uvf-top-btn:active {
4367
- background: var(--uvf-overlay-medium);
4368
- transform: scale(0.95);
4369
- }
4370
4417
  }
4371
4418
 
4372
4419
  /* Keyboard navigation and accessibility */
4373
4420
  .uvf-control-btn:focus-visible,
4374
- .uvf-top-btn:focus-visible,
4375
4421
  .uvf-center-play-btn:focus-visible {
4376
4422
  outline: 2px solid var(--uvf-primary-color, #007bff);
4377
4423
  outline-offset: 2px;
4378
4424
  background: var(--uvf-overlay-medium);
4379
4425
  }
4380
4426
 
4427
+ .uvf-top-btn:focus-visible {
4428
+ outline: 2px solid var(--uvf-primary-color, #007bff);
4429
+ outline-offset: 2px;
4430
+ }
4431
+
4381
4432
  .uvf-progress-bar-wrapper:focus-visible {
4382
4433
  outline: 2px solid var(--uvf-primary-color, #007bff);
4383
4434
  outline-offset: 2px;
@@ -4409,7 +4460,10 @@ export class WebPlayer extends BasePlayer {
4409
4460
 
4410
4461
  /* High contrast mode support */
4411
4462
  @media (prefers-contrast: high) {
4412
- .uvf-control-btn,
4463
+ .uvf-control-btn {
4464
+ border: 1px solid;
4465
+ }
4466
+
4413
4467
  .uvf-top-btn {
4414
4468
  border: 1px solid;
4415
4469
  }
@@ -5047,6 +5101,7 @@ export class WebPlayer extends BasePlayer {
5047
5101
  else {
5048
5102
  volumeIcon.style.display = 'block';
5049
5103
  muteIcon.style.display = 'none';
5104
+ this.hideUnmuteButton();
5050
5105
  }
5051
5106
  }
5052
5107
  });
@@ -5184,6 +5239,15 @@ export class WebPlayer extends BasePlayer {
5184
5239
  const castBtn = document.getElementById('uvf-cast-btn');
5185
5240
  const stopCastBtn = document.getElementById('uvf-stop-cast-btn');
5186
5241
  const shareBtn = document.getElementById('uvf-share-btn');
5242
+ if (this.isIOSDevice() && castBtn) {
5243
+ castBtn.innerHTML = `
5244
+ <svg viewBox="0 0 24 24">
5245
+ <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"/>
5246
+ </svg>
5247
+ `;
5248
+ castBtn.setAttribute('title', 'AirPlay');
5249
+ castBtn.setAttribute('aria-label', 'AirPlay');
5250
+ }
5187
5251
  castBtn?.addEventListener('click', () => this.onCastButtonClick());
5188
5252
  stopCastBtn?.addEventListener('click', () => this.stopCasting());
5189
5253
  shareBtn?.addEventListener('click', () => this.shareVideo());
@@ -7134,6 +7198,10 @@ export class WebPlayer extends BasePlayer {
7134
7198
  catch (_) { }
7135
7199
  }
7136
7200
  onCastButtonClick() {
7201
+ if (this.isIOSDevice()) {
7202
+ this.showAirPlayPicker();
7203
+ return;
7204
+ }
7137
7205
  try {
7138
7206
  const castNs = window.cast;
7139
7207
  if (this.isCasting && castNs && castNs.framework) {
@@ -7145,6 +7213,27 @@ export class WebPlayer extends BasePlayer {
7145
7213
  catch (_) { }
7146
7214
  this.initCast();
7147
7215
  }
7216
+ showAirPlayPicker() {
7217
+ if (!this.video) {
7218
+ this.showNotification('Video not ready');
7219
+ return;
7220
+ }
7221
+ const videoElement = this.video;
7222
+ if (typeof videoElement.webkitShowPlaybackTargetPicker === 'function') {
7223
+ try {
7224
+ videoElement.webkitShowPlaybackTargetPicker();
7225
+ this.debugLog('AirPlay picker shown');
7226
+ }
7227
+ catch (error) {
7228
+ this.debugWarn('Failed to show AirPlay picker:', error.message);
7229
+ this.showNotification('AirPlay not available');
7230
+ }
7231
+ }
7232
+ else {
7233
+ this.debugWarn('AirPlay not supported on this device');
7234
+ this.showNotification('AirPlay not supported');
7235
+ }
7236
+ }
7148
7237
  stopCasting() {
7149
7238
  try {
7150
7239
  const castNs = window.cast;