diff --git a/src/components/ha-selector/ha-selector-media.ts b/src/components/ha-selector/ha-selector-media.ts
index 86fa91335d48..3e1081f45b68 100644
--- a/src/components/ha-selector/ha-selector-media.ts
+++ b/src/components/ha-selector/ha-selector-media.ts
@@ -124,19 +124,23 @@ export class HaMediaSelector extends LitElement {
>
${this.value?.metadata?.thumbnail
? html`
-
+ })} image"
+ src=${this._thumbnailUrl ?? ""}
+ />
`
: html`
diff --git a/src/components/media-player/ha-media-player-browse.ts b/src/components/media-player/ha-media-player-browse.ts
index b0ed61efe5f1..b20d66589061 100644
--- a/src/components/media-player/ha-media-player-browse.ts
+++ b/src/components/media-player/ha-media-player-browse.ts
@@ -36,7 +36,10 @@ import {
MediaPlayerBrowseAction,
MediaPlayerLayoutType,
} from "../../data/media-player";
-import { browseLocalMediaPlayer } from "../../data/media_source";
+import {
+ browseLocalMediaPlayer,
+ resolveMediaSource,
+} from "../../data/media_source";
import { isTTSMediaSource } from "../../data/tts";
import { showAlertDialog } from "../../dialogs/generic/show-dialog-box";
import { haStyle } from "../../resources/styles";
@@ -86,7 +89,8 @@ export class HaMediaPlayerBrowse extends LitElement {
@property() public action: MediaPlayerBrowseAction = "play";
- @property() public preferredLayout: MediaPlayerLayoutType = "auto";
+ @property({ reflect: true, attribute: "preferred-layout" })
+ public preferredLayout: MediaPlayerLayoutType = "auto";
@property({ type: Boolean }) public dialog = false;
@@ -98,6 +102,8 @@ export class HaMediaPlayerBrowse extends LitElement {
// @todo Consider reworking to eliminate need for attribute since it is manipulated internally
@property({ type: Boolean, reflect: true }) public scrolled = false;
+ @property({ attribute: false }) public backgroundImage: string | undefined;
+
@state() private _error?: { message: string; code: string };
@state() private _parentItem?: MediaPlayerItem;
@@ -344,10 +350,8 @@ export class HaMediaPlayerBrowse extends LitElement {
: MediaClassBrowserSettings.directory;
const backgroundImage = currentItem.thumbnail
- ? this._getThumbnailURLorBase64(currentItem.thumbnail).then(
- (value) => `url(${value})`
- )
- : "none";
+ ? this._getThumbnailURLorBase64(currentItem.thumbnail)
+ : undefined;
return html`
${
@@ -363,13 +367,14 @@ export class HaMediaPlayerBrowse extends LitElement {