Interface: NativeRemotePlayback
Defined in: packages/media-session/src/specs/media-session.nitro.ts:796
"Playback is coming out of some other device right now, and here is that device's volume." See RnMediaMediaSession.setRemotePlayback.
Deliberately backend-agnostic — no cast vocabulary anywhere. A Cast receiver, a UPnP renderer, a proprietary multi-room protocol and a remote-controlled amplifier are all the same thing to a media session: audio the phone is not producing, whose loudness the phone's stream volume must therefore stop pretending to control.
Properties
holdLocalAudioSlot
holdLocalAudioSlot: boolean;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:839
Android only: hold a silent local AudioTrack while this remote playback
is published, so the app's uid stays the platform's "last played locally"
one and keeps the hardware volume keys with the screen off.
Opt-in because it holds a real audio output open for the whole remote
session. Normalised from the public API's optional field, so this is
always present. See RemotePlayback.holdLocalAudioSlot.
muted
muted: boolean;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:808
Whether the remote device is muted.
routingControllerId?
optional routingControllerId?: string;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:829
Android only: the MediaRouter2 routing-controller id of the route the
audio is on, when the backend knows it.
Passed to DeviceInfo.Builder.setRoutingControllerId, which is how the
system output switcher ties the volume slider it draws to the route that
is actually playing. Omit when unknown — it is a refinement, not a
requirement.
steps
steps: number;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:817
How many discrete notches the volume rocker moves through from silent to full — the granularity of one key press.
Android needs a concrete integer range: DeviceInfo.Builder.setMaxVolume
plus an int deviceVolume, which is what the platform's VolumeProvider
reports and what one onAdjustVolume call moves by exactly 1.
volume
volume: number;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:806
Current volume of the remote device, 0..1.
Normalised rather than expressed in the platform's integer steps because
0..1 is the vocabulary every remote backend already speaks (Cast's
setVolume, UPnP's percentage) and the one the app's own slider uses. The
quantisation into steps is this package's job, not the app's — see
steps.
volumeControl
volumeControl: RemoteVolumeControl;
Defined in: packages/media-session/src/specs/media-session.nitro.ts:819
See RemoteVolumeControl.