Observes DRM-protected media content playback events.
Configuration for the DRM content to observe.
This stream can emit the following status_code values:
200 (OK): Stream emitted a playback event. The result contains DRMPlaybackEvent.500 (Internal Server Error): Stream emitted an unexpected error.501 (Not Implemented): Requires Grab app environment.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.
import { MediaModule, isSuccess, isError } 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 (isError(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.
This method can return the following status_code values:
200 (OK): Playback initiated successfully.204 (No Content): Request completed.500 (Internal Server Error): An unexpected error occurred.501 (Not Implemented): Requires Grab app environment.Requires proper DRM content configuration including license URL and content metadata. For playback events and status updates, use MediaModule.observePlayDRMContent.
import { MediaModule, isSuccess, isError } 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 (isError(response)) {
console.error(`Error ${response.status_code}: ${response.error}`);
} else {
console.error('Unhandled response');
}
SDK module for playing DRM-protected media content via
JSBridge.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):