Event for MediaSession metadata update?

394 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
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';