diff --git a/src/panels/media-browser/ha-bar-media-player.ts b/src/panels/media-browser/ha-bar-media-player.ts index 3e0b312f50..a1e408ac0b 100644 --- a/src/panels/media-browser/ha-bar-media-player.ts +++ b/src/panels/media-browser/ha-bar-media-player.ts @@ -56,6 +56,7 @@ import { BrowserMediaPlayer, ERR_UNSUPPORTED_MEDIA, } from "./browser-media-player"; +import { debounce } from "../../common/util/debounce"; declare global { interface HASSDomEvents { @@ -118,8 +119,14 @@ export class BarMediaPlayer extends SubscribeMixin(LitElement) { public showResolvingNewMediaPicked() { this._tearDownBrowserPlayer(); this._newMediaExpected = true; + // Sometimes the state does not update when playing media, like with TTS, so we wait max 2 secs and then stop waiting + this._debouncedResetMediaExpected(); } + private _debouncedResetMediaExpected = debounce(() => { + this._newMediaExpected = false; + }, 2000); + public hideResolvingNewMediaPicked() { this._newMediaExpected = false; } @@ -154,7 +161,7 @@ export class BarMediaPlayer extends SubscribeMixin(LitElement) { protected render() { if (this._newMediaExpected) { return html` -