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
| Parameter | Type |
|---|---|
event | K |
listener | (payload: CastEventMap[K]) => void |
Returns
endSession()
endSession(options?: EndSessionOptions): Promise<void>;
Defined in: packages/cast/src/types.ts:155
End the current session. See EndSessionOptions.
Parameters
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
startIndex | number |
count | number |
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
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
source | CastMediaSource |
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
| Parameter | Type |
|---|---|
items | readonly CastQueueItemInput[] |
beforeItemId? | number |
Returns
Promise<void>
queueJumpTo()
queueJumpTo(itemId: number, position?: number): Promise<void>;
Defined in: packages/cast/src/types.ts:196
Parameters
| Parameter | Type |
|---|---|
itemId | number |
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
| Parameter | Type |
|---|---|
items | readonly CastQueueItemInput[] |
options? | CastQueueLoadOptions |
Returns
Promise<void>
queueRemove()
queueRemove(itemIds: readonly number[]): Promise<void>;
Defined in: packages/cast/src/types.ts:190
Parameters
| Parameter | Type |
|---|---|
itemIds | readonly 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
| Parameter | Type |
|---|---|
itemIds | readonly number[] |
beforeItemId? | number |
Returns
Promise<void>
queueSetRepeatMode()
queueSetRepeatMode(mode: CastRepeatMode): Promise<void>;
Defined in: packages/cast/src/types.ts:197
Parameters
| Parameter | Type |
|---|---|
mode | CastRepeatMode |
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
| Parameter | Type |
|---|---|
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
| Parameter | Type |
|---|---|
position | number |
resumeState? | CastSeekResumeState |
Returns
Promise<void>
setDeviceMuted()
setDeviceMuted(muted: boolean): Promise<void>;
Defined in: packages/cast/src/types.ts:177
Parameters
| Parameter | Type |
|---|---|
muted | boolean |
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
| Parameter | Type |
|---|---|
volume | number |
Returns
Promise<void>
setStreamMuted()
setStreamMuted(muted: boolean): Promise<void>;
Defined in: packages/cast/src/types.ts:174
Parameters
| Parameter | Type |
|---|---|
muted | boolean |
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
| Parameter | Type |
|---|---|
volume | number |
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>