Observes DRM-protected media content playback events.
Configuration for the DRM content to observe.
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.
Configuration for the DRM content including license URL and content metadata.
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');
}
JSBridge module for playing DRM-protected media content.
Remarks
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.
Example
ES Module:
Example
CDN (UMD):