update mute icon on tab mute

This commit is contained in:
Slowlife01
2025-03-12 19:33:29 +07:00
parent b5f32f1001
commit e36ed36a6e
2 changed files with 21 additions and 8 deletions

View File

@@ -88,8 +88,13 @@ class ZenMediaController {
* @param {Object} browser - The browser associated with the media controller.
*/
activateMediaControls(mediaController, browser) {
if (this._currentBrowser) this.updateMuteState();
if (this._currentBrowser?.browserId === browser.browserId) return;
else this._currentBrowser = browser;
else {
this.deinitMediaController(this._currentMediaController);
this._currentMediaController = mediaController;
this._currentBrowser = browser;
}
mediaController.onpositionstatechange = this.onPositionstateChange.bind(this);
mediaController.onplaybackstatechange = this.onPlaybackstateChange.bind(this);
@@ -97,11 +102,6 @@ class ZenMediaController {
mediaController.onmetadatachange = this.onMetadataChange.bind(this);
mediaController.ondeactivated = this.onDeactivated.bind(this);
if (this._currentMediaController === mediaController) return;
else this.deinitMediaController(this._currentMediaController);
this._currentMediaController = mediaController;
const metadata = mediaController.getMetadata();
const positionState = mediaController.getPositionState();
@@ -258,6 +258,14 @@ class ZenMediaController {
this._currentMediaController?.play();
}
}
updateMuteState() {
if (this._currentBrowser._audioMuted) {
this.mediaControlBar.setAttribute('muted', '');
} else {
this.mediaControlBar.removeAttribute('muted');
}
}
}
window.gZenMediaController = new ZenMediaController();