Skip to main content

Interface: CastApi

Defined in: packages/cast/src/types.ts:118

The public cast surface.

Declared as an interface (rather than inferred from the implementation) so tests, and anyone wiring a different backend, can substitute a fake.

Methods​

addListener()​

addListener<K extends keyof CastEventMap>(event: K, listener: (payload: CastEventMap[K]) => void): Unsubscribe;

Defined in: packages/cast/src/types.ts:211

Subscribe to one of the event streams.

Type Parameters​

Type Parameter
K extends keyof CastEventMap

Parameters​

ParameterType
eventK
listener(payload: CastEventMap[K]) => void

Returns​

Unsubscribe


endSession()​

endSession(options?: EndSessionOptions): Promise<void>;

Defined in: packages/cast/src/types.ts:155

End the current session. See EndSessionOptions.

Parameters​

ParameterType
options?EndSessionOptions

Returns​

Promise<void>


fetchQueueSlice()​

fetchQueueSlice(startIndex: number, count: number): Promise<readonly CastQueueItemSnapshot[]>;

Defined in: packages/cast/src/types.ts:205

Page the sparse sender-side queue mirror. Unresolved rows (resolved: false) trigger one background fetch; re-read after the next queueChanged event.

Parameters​

ParameterType
startIndexnumber
countnumber

Returns​

Promise<readonly CastQueueItemSnapshot[]>


getApproximatePosition()​

getApproximatePosition(): Promise<number>;

Defined in: packages/cast/src/types.ts:170

One approximate-position read (seconds), projected by the SDK from the last status update. Not a stream: project locally between mediaStatus events instead of polling this.

Returns​

Promise<number>


getCastDevices()​

getCastDevices(): Promise<readonly CastDeviceInfo[]>;

Defined in: packages/cast/src/types.ts:143

Snapshot of currently discovered devices.

Returns​

Promise<readonly CastDeviceInfo[]>


getCastState()​

getCastState(): CastConnectionState;

Defined in: packages/cast/src/types.ts:127

Last known connection state (cached natively; never blocks).

Returns​

CastConnectionState


getDeviceVolume()​

getDeviceVolume(): Promise<NativeDeviceVolumeEvent>;

Defined in: packages/cast/src/types.ts:178

Returns​

Promise<NativeDeviceVolumeEvent>


getQueueItemIds()​

getQueueItemIds(): Promise<readonly number[]>;

Defined in: packages/cast/src/types.ts:199

All receiver item ids in order (cheap; already cached sender-side).

Returns​

Promise<readonly number[]>


initialize()​

initialize(options?: CastInitOptions): Promise<CastConnectionState>;

Defined in: packages/cast/src/types.ts:124

Initialize the Cast framework. Resolves the resulting state — a GMS-less Android device resolves 'unavailable', it never throws for absence. Idempotent.

Parameters​

ParameterType
options?CastInitOptions

Returns​

Promise<CastConnectionState>


load()​

load(source: CastMediaSource, options?: CastLoadOptions): Promise<void>;

Defined in: packages/cast/src/types.ts:158

Load a single item on the receiver.

Parameters​

ParameterType
sourceCastMediaSource
options?CastLoadOptions

Returns​

Promise<void>


pause()​

pause(): Promise<void>;

Defined in: packages/cast/src/types.ts:160

Returns​

Promise<void>


play()​

play(): Promise<void>;

Defined in: packages/cast/src/types.ts:159

Returns​

Promise<void>


queueInsert()​

queueInsert(items: readonly CastQueueItemInput[], beforeItemId?: number): Promise<void>;

Defined in: packages/cast/src/types.ts:186

Insert before beforeItemId, or append when omitted.

Parameters​

ParameterType
itemsreadonly CastQueueItemInput[]
beforeItemId?number

Returns​

Promise<void>


queueJumpTo()​

queueJumpTo(itemId: number, position?: number): Promise<void>;

Defined in: packages/cast/src/types.ts:196

Parameters​

ParameterType
itemIdnumber
position?number

Returns​

Promise<void>


queueLoad()​

queueLoad(items: readonly CastQueueItemInput[], options?: CastQueueLoadOptions): Promise<void>;

Defined in: packages/cast/src/types.ts:181

Replace the receiver queue.

Parameters​

ParameterType
itemsreadonly CastQueueItemInput[]
options?CastQueueLoadOptions

Returns​

Promise<void>


queueRemove()​

queueRemove(itemIds: readonly number[]): Promise<void>;

Defined in: packages/cast/src/types.ts:190

Parameters​

ParameterType
itemIdsreadonly number[]

Returns​

Promise<void>


queueReorder()​

queueReorder(itemIds: readonly number[], beforeItemId?: number): Promise<void>;

Defined in: packages/cast/src/types.ts:192

Move itemIds before beforeItemId, or to the end when omitted.

Parameters​

ParameterType
itemIdsreadonly number[]
beforeItemId?number

Returns​

Promise<void>


queueSetRepeatMode()​

queueSetRepeatMode(mode: CastRepeatMode): Promise<void>;

Defined in: packages/cast/src/types.ts:197

Parameters​

ParameterType
modeCastRepeatMode

Returns​

Promise<void>


requestSession()​

requestSession(deviceId?: string): Promise<void>;

Defined in: packages/cast/src/types.ts:152

With a deviceId: connect to that device; resolves on started, rejects with a CastError (session-start-failed) on failure. Without: opens the platform device picker and resolves once it is shown — the user may still cancel, so watch castState/session events for the outcome.

Parameters​

ParameterType
deviceId?string

Returns​

Promise<void>


seek()​

seek(position: number, resumeState?: CastSeekResumeState): Promise<void>;

Defined in: packages/cast/src/types.ts:164

Seek to position seconds.

Parameters​

ParameterType
positionnumber
resumeState?CastSeekResumeState

Returns​

Promise<void>


setDeviceMuted()​

setDeviceMuted(muted: boolean): Promise<void>;

Defined in: packages/cast/src/types.ts:177

Parameters​

ParameterType
mutedboolean

Returns​

Promise<void>


setDeviceVolume()​

setDeviceVolume(volume: number): Promise<void>;

Defined in: packages/cast/src/types.ts:176

Physical device volume 0..1 (primary layer).

Parameters​

ParameterType
volumenumber

Returns​

Promise<void>


setStreamMuted()​

setStreamMuted(muted: boolean): Promise<void>;

Defined in: packages/cast/src/types.ts:174

Parameters​

ParameterType
mutedboolean

Returns​

Promise<void>


setStreamVolume()​

setStreamVolume(volume: number): Promise<void>;

Defined in: packages/cast/src/types.ts:173

Receiver stream volume 0..1 (secondary layer).

Parameters​

ParameterType
volumenumber

Returns​

Promise<void>


startDiscovery()​

startDiscovery(): Promise<void>;

Defined in: packages/cast/src/types.ts:133

Start discovery. Battery-expensive — call when the device picker opens, stop when it closes.

Returns​

Promise<void>


stop()​

stop(): Promise<void>;

Defined in: packages/cast/src/types.ts:162

Stop receiver playback and unload (receiver goes idle).

Returns​

Promise<void>


stopDiscovery()​

stopDiscovery(): Promise<void>;

Defined in: packages/cast/src/types.ts:140

Stop discovery. Ordering rule: connect (requestSession) after the picker closes but before calling this — the native side also defers teardown while a session start is in flight, as a belt-and-braces.

Returns​

Promise<void>