@grabjs/superapp-sdk
    Preparing search index...

    Class MediaModule

    JSBridge module for playing DRM-protected media content.

    Provides access to the native media player with DRM support for secure content playback. This code must run on the Grab SuperApp's WebView to function correctly.

    ES Module:

    import { MediaModule } from '@grabjs/superapp-sdk';
    const media = new MediaModule();

    CDN (UMD):

    <script src="https://cdn.jsdelivr.net/npm/@grabjs/superapp-sdk/dist/index.js"></script>
    <script>
    const media = new SuperAppSDK.MediaModule();
    </script>

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • Observes DRM-protected media content playback events.

      Parameters

      Returns ObserveDRMPlaybackResponse

      A stream that emits playback events as the media plays.

      Subscribe to this stream to receive real-time playback events such as progress, completion, and errors. Remember to call unsubscribe() when done to free resources.

      Simple usage

      import { MediaModule, isSuccess, isErrorResponse } from '@grabjs/superapp-sdk';

      // Initialize the media module
      const media = new MediaModule();

      // Observe DRM content playback
      const subscription = media.observePlayDRMContent({
      // DRM content configuration
      }).subscribe({
      next: (response) => {
      if (isSuccess(response)) {
      console.log('Playback event:', response.result);
      } else if (isErrorResponse(response)) {
      console.error(`Error ${response.status_code}: ${response.error}`);
      }
      },
      complete: () => console.log('Playback completed')
      });

      // Later, to stop receiving events:
      subscription.unsubscribe();
    • Plays DRM-protected media content in the native media player.

      Parameters

      • data: DRMContentConfig

        Configuration for the DRM content including license URL and content metadata.

      Returns Promise<PlayDRMContentResponse>

      The playback initiation result, indicating if the DRM content started playing.

      Requires proper DRM content configuration including license URL and content metadata. For playback events and status updates, use MediaModule.observePlayDRMContent.

      Simple usage

      import { MediaModule, isSuccess, isErrorResponse } from '@grabjs/superapp-sdk';

      // Initialize the media module
      const media = new MediaModule();

      // Play DRM content
      const response = await media.playDRMContent({
      // DRM content configuration
      });

      // Handle the response
      if (isSuccess(response)) {
      switch (response.status_code) {
      case 200:
      console.log('Playback initiated');
      break;
      case 204:
      console.log('Invalid parameters');
      break;
      }
      } else if (isErrorResponse(response)) {
      console.error(`Error ${response.status_code}: ${response.error}`);
      } else {
      console.error('Unhandled response');
      }