Event for MediaSession metadata update?

437 Views Asked by At

In the browser, we have the MediaSession API. A web page can show what media is playing with some simple code:

navigator.mediaSession.metadata = new MediaMetadata({
  title: 'Some Tune',
  artist: 'Somebody',
  album: 'An Album',
});

I'm writing a browser extension. Is there an event or other way to be notified when the metadata is updated? Currently, I'm using polling, but I'd rather do it the right way if there is such an event or method to watch for new metadata.

1

There are 1 best solutions below

0
Ludvík Prokopec On

Maybe something like this.

const obj = {};
Object.defineProperty(obj, 'title', {
    set(newValue) {
        console.log('new value for title: ', newValue);
        this.value = newValue;
        navigator.mediaSession.metadata.title = newValue;
    }
});

obj.title = 'Some tune';