Skip to content

Media Session API

mediaSession is typed as MediaSessionApi and exposes listener-oriented remote command integration.

interface MediaSessionApi {
setup(): Promise<void>;
addListener<E extends MediaSessionEventName>(
eventName: E,
listener: MediaSessionListener<E>
): Promise<BindingListenerHandle>;
removeAllListeners(): Promise<void>;
}
MethodPurpose
setup()Delegates to shared setup bridge (LegatoModule.setup).
addListener(eventName, listener)Subscribes to media-session event names using native module events.
removeAllListeners()Clears registered listeners at the native module layer.

The event-name set is exported from MEDIA_SESSION_EVENTS, which is assigned from MEDIA_SESSION_EVENT_NAMES in @ddgutierrezc/legato-contract.

const handle = await mediaSession.addListener('remote-play', () => {
// app decides behavior
});
await handle.remove();