Home Reference Source

src/utils/mediakeys-helper.ts

  1. /**
  2. * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/requestMediaKeySystemAccess
  3. */
  4. export enum KeySystems {
  5. WIDEVINE = 'com.widevine.alpha',
  6. PLAYREADY = 'com.microsoft.playready',
  7. }
  8.  
  9. export type MediaKeyFunc = (keySystem: KeySystems, supportedConfigurations: MediaKeySystemConfiguration[]) => Promise<MediaKeySystemAccess>;
  10. const requestMediaKeySystemAccess = (function (): MediaKeyFunc | null {
  11. if (typeof window !== 'undefined' && window.navigator && window.navigator.requestMediaKeySystemAccess) {
  12. return window.navigator.requestMediaKeySystemAccess.bind(window.navigator);
  13. } else {
  14. return null;
  15. }
  16. })();
  17.  
  18. export {
  19. requestMediaKeySystemAccess
  20. };