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>