Skip to main content

Interface: BrowseItem

Defined in: packages/media-session/src/types.ts:542

One node of the car browse tree.

A node may be both browsable and playable — an album that opens and plays. media3 and CarPlay both allow it; Android Auto's root does not (see BROWSE_ROOT).

Properties

artworkUri?

optional artworkUri?: string;

Defined in: packages/media-session/src/types.ts:563

https://, file://, content:// or android.resource://.

Android Auto accepts only content:// and android.resource:// for browse artwork, so an https:// URI is rewritten to a content:// served by this package's own provider — the download, the downscale and the cache are handled for you. Nothing to do differently on iOS, which fetches the URI itself.


browsable?

optional browsable?: boolean;

Defined in: packages/media-session/src/types.ts:569

Opens a child list — getChildren(id) is called when it is tapped.

Default

false

childStyle?

optional childStyle?: BrowseStyle;

Defined in: packages/media-session/src/types.ts:580

How this item's children are laid out. Android Auto content style; CarPlay draws a list either way and ignores it.


completion?

optional completion?: number;

Defined in: packages/media-session/src/types.ts:594

Podcast-style progress, 0..1. 1 renders as "played", anything between 0 and 1 as a partial progress bar, 0 (and omitted) as untouched.


explicit?

optional explicit?: boolean;

Defined in: packages/media-session/src/types.ts:589

Explicit-content badge.

Default

false

group?

optional group?: string;

Defined in: packages/media-session/src/types.ts:587

Contiguous items that share a group are drawn under one heading.

Contiguous is load-bearing: both cars group runs, not sets, so [a, a, b, a] renders three headings.


id

id: string;

Defined in: packages/media-session/src/types.ts:551

Opaque, stable and unique across the whole tree.

Android Auto and CarPlay hand it straight back to MediaHandler.getChildren and MediaHandler.playFromMediaId, so it is the app's own key — a track id, a album:1234, a JSON blob if you must. It must not be empty: media3 rejects a browse item with an empty media id.


mediaType?

optional mediaType?: BrowseMediaType;

Defined in: packages/media-session/src/types.ts:601

What this node is. Both cars pick icons, placeholder art and — on Automotive OS — whole layouts from it.

Default

'mixed'

playable?

optional playable?: boolean;

Defined in: packages/media-session/src/types.ts:575

Starts playback — playFromMediaId(id) is called when it is tapped.

Default

false

subtitle?

optional subtitle?: string;

Defined in: packages/media-session/src/types.ts:553


title

title: string;

Defined in: packages/media-session/src/types.ts:552