From cf3bb7a9c430b4a2bc2895c5996fe09934b4d6bb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 15:01:35 +0000 Subject: [PATCH] Version Packages --- .changeset/native-default-audio-session.md | 5 --- .changeset/spicy-webs-talk.md | 5 --- CHANGELOG.md | 10 ++++++ docs/assets/navigation.js | 2 +- docs/assets/search.js | 2 +- docs/classes/AudioSession.html | 18 +++++------ docs/classes/RNE2EEManager.html | 4 +-- docs/classes/RNKeyProvider.html | 8 ++--- docs/functions/BarVisualizer.html | 4 +-- docs/functions/LiveKitRoom.html | 4 +-- docs/functions/VideoView.html | 4 +-- ...DefaultAppleAudioConfigurationForMode.html | 4 +-- docs/functions/registerGlobals.html | 4 +-- docs/functions/setLogLevel.html | 4 +-- docs/functions/setupIOSAudioManagement.html | 31 ++++++++++++++++--- docs/functions/sortParticipants.html | 4 +-- docs/functions/useBarAnimator.html | 2 +- docs/functions/useIOSAudioManagement.html | 11 ++++--- docs/functions/useMultibandTrackVolume.html | 4 +-- docs/functions/useParticipant.html | 4 +-- docs/functions/useRNE2EEManager.html | 2 +- docs/functions/useRoom.html | 4 +-- docs/functions/useTrackVolume.html | 4 +-- docs/hierarchy.html | 2 +- docs/index.html | 10 +++--- docs/interfaces/BarVisualizerProps.html | 8 ++--- docs/interfaces/LiveKitRoomProps.html | 20 ++++++------ .../MultiBandTrackVolumeOptions.html | 12 +++---- docs/interfaces/ParticipantState.html | 6 ++-- docs/interfaces/RNE2EEManagerState.html | 4 +-- docs/interfaces/RegisterGlobalsOptions.html | 4 +-- docs/interfaces/RoomOptions.html | 4 +-- docs/interfaces/RoomState.html | 4 +-- docs/modules.html | 2 +- docs/types/AndroidAudioTypeOptions.html | 16 +++++----- docs/types/AppleAudioCategory.html | 2 +- docs/types/AppleAudioCategoryOption.html | 2 +- docs/types/AppleAudioConfiguration.html | 4 +-- docs/types/AppleAudioMode.html | 2 +- docs/types/AudioConfiguration.html | 6 ++-- docs/types/AudioEngineConfigurationState.html | 4 +-- docs/types/AudioTrackState.html | 12 +++---- docs/types/BarVisualizerOptions.html | 8 ++--- docs/types/IOSAudioSessionPolicy.html | 7 +++++ docs/types/LogLevel.html | 2 +- docs/types/OnConfigureNativeAudio.html | 3 ++ docs/types/Props.html | 6 ++-- docs/types/RNKeyProviderOptions.html | 4 +-- docs/types/SetLogLevelOptions.html | 4 +-- docs/types/UseRNE2EEManagerOptions.html | 4 +-- docs/types/VideoTrackProps.html | 16 +++++----- docs/variables/AndroidAudioTypePresets.html | 4 +-- docs/variables/VideoTrack.html | 4 +-- docs/variables/log.html | 2 +- package.json | 2 +- 55 files changed, 184 insertions(+), 150 deletions(-) delete mode 100644 .changeset/native-default-audio-session.md delete mode 100644 .changeset/spicy-webs-talk.md create mode 100644 docs/types/IOSAudioSessionPolicy.html create mode 100644 docs/types/OnConfigureNativeAudio.html diff --git a/.changeset/native-default-audio-session.md b/.changeset/native-default-audio-session.md deleted file mode 100644 index 11cff52f..00000000 --- a/.changeset/native-default-audio-session.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@livekit/react-native': minor ---- - -Configure the iOS audio session natively in the default path, removing the audio engine's JS round trip and its deadlock window. Deprecate the unsafe `onConfigureNativeAudio` callback form of `setupIOSAudioManagement`. Developers can instead pass in a static `IOSAudioSessionPolicy`. diff --git a/.changeset/spicy-webs-talk.md b/.changeset/spicy-webs-talk.md deleted file mode 100644 index 3623c682..00000000 --- a/.changeset/spicy-webs-talk.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@livekit/react-native': patch ---- - -Update @livekit/react-native-webrtc to 144.1.2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 68c16320..40d21bf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # @livekit/react-native +## 2.12.0 + +### Minor Changes + +- Configure the iOS audio session natively in the default path, removing the audio engine's JS round trip and its deadlock window. Deprecate the unsafe `onConfigureNativeAudio` callback form of `setupIOSAudioManagement`. Developers can instead pass in a static `IOSAudioSessionPolicy`. - [#434](https://github.com/livekit/client-sdk-react-native/pull/434) ([@hiroshihorie](https://github.com/hiroshihorie)) + +### Patch Changes + +- Update @livekit/react-native-webrtc to 144.1.2 - [#434](https://github.com/livekit/client-sdk-react-native/pull/434) ([@hiroshihorie](https://github.com/hiroshihorie)) + ## 2.11.1 ### Patch Changes diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 3aedfcaa..2eb1d7d7 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJydl01z0zAQhv+LzhlKAy2QWwKBYZrQTFNyYTgo9sbVVJY80joQGP47E7upJVkfTq/ed5/dlXfX8o+/BOE3kgmZ1jmTa9CaSUFGpKL4QCYk41Rr0Bem9dUDlpyMyCMTOZlcjt//Gz1T7r7Nx/P5kgpagOpjLHOccwOHlZJ7lvs5hjnGmVG1YbqmnP0BtVKy0h2MCQS1oxnoi77Mho6vrg3ogu3hhuGdlGUY6YpiwGXNkc2oyO8VzR43ktcl3FbIpPCzI/pYmBVVyDJWUYFrpAhetivqAUftWyATkkOlIKMIOTFfHRRMI6gvXG4p17E6/NJYCVYDhYvoy6JQKctomp09hYmkdLLGEFORK8nyZtruD1W/CfBQHafRL3PIrz+8u7wam/Sq4tA4faQIhVSHHrinOJ/ZJpMmt7oz+FLsWFErmsCbsuH0pcwhDD1ak6x0kufnd/SYi4IJsPycNjPwIfGgSM06CbM7s5eWWgzWkg10tk+TSn0hiwXsgbus0/OUv7PDW2ffzh5WpvVtCpTp06TSXAOeKgpQ+4oU87sGa1UGwAFZir5hObRN4z1ix5zsUGfprRRoQIO6p4rRLffsxyepHeGNCeey8IG4LCJOXQE+384aQVj93lF2tciaI7YHwgZdvzVABeAn2NGaY2AVfpbK3nFdjKG+bvjUJBhXIF9YwxwpTNl3BB/IkURgupsQH8gwxyF19fV23X4ZmokoQWAA6JPG4FKhcQXz1utqIrhaw4yqqWAlReltMFsRRw0r2is8t3dqDc0td2vfcgPxfNJ4Kcb5BZiG4gXJB36ErAiRvyE33dAMPZlekGD6UIedZbPmNgx++SjPxmEJ/vwPEZoGVQ==" \ No newline at end of file +window.navigationData = "eJydl01z2jAQhv+LzkzT0CZtuUFLO51AwoSES6cHYS+OJrLkkWRa2ul/74BDLMkryXBlXz37od21+PGXGPhtyIiM65zJJWjNpCADUlHzREYk41Rr0Be29c2TKTkZkGcmcjK6HH78N3il3N9Oh9PpnApagOpiHHOccwO7hZJbluMcyxzjTKhaMV1Tzv6AWihZ6RbGhAG1oRnoi67MhQ6vri3ojG3hhpl7Kcsw0hfFgPOaGzahIn9QNHteSV6XcFcZJgXOjuhjbhZUGZaxigqzNNQAyvZFHeCguQUyIjlUCjJqICf21UHBtAH1jcs15TqWBy6NpeA0UDiJriwKlbKMhtnaU5hISEdrDDEWuZIsP0zbw67qNoHZVftpxGUe+e2nD5dXQ5teVRwOhz5TA4VUuw64ozid2QSTJje6E/hSbFhRK5rA27L+9LnMIQzdW5OsdJCnx7c/MRUFE+Cc89rMwofEvTwd1kmY3ZpRWmoxOEs20NmYJhX697ul/XlaSM6yTmejohR5JosZbIH7sOPvqfN34ngRcEsN2zbN5NNw1Vkl9j5HDR/7/PTDOZ/ZwI1hmlRdlmCOJQxQu4oU81GDs/UD4IAsRV+xHJr+R0vsmZPD5u3vhQINxqJuqWJ0zZFV/yJ1Pbyz4VwWGIjLInKoTQA721ojCGd0W8qmFtmhxO5su6Dr9xaoAPMFNrTmJrDVv0rlruvWR9+zvvvUJFivOcytZY4kptznDgbyJBGYbicEA1nmOKSujquxmYgShAkAMWkMLpWxXpNovr4mgqs1TKgaC1ZSI9EGcxVxVL+kUeGpvVNrODzY1+6DPeAPk8ZTseoXYFqKM4IP/KdzPET+2PnhhmboxXRGgOmi9qvlYc2tGPzCKK/GfgH+/A9PjEvK" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index f5ce404b..8355a255 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "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"; \ No newline at end of file +window.searchData = "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"; \ No newline at end of file diff --git a/docs/classes/AudioSession.html b/docs/classes/AudioSession.html index 9ddd047f..be549477 100644 --- a/docs/classes/AudioSession.html +++ b/docs/classes/AudioSession.html @@ -1,4 +1,4 @@ -
StaticconfigureStaticgetGets the available audio outputs for use with selectAudioOutput.
+StaticgetGets the available audio outputs for use with selectAudioOutput.
startAudioSession must be called prior to using this method.
For Android, will return if available:
react-native-avroutepicker for a native platform
control.
the available audio output types
-StaticselectSelect the provided audio output if available.
+StaticselectSelect the provided audio output if available.
startAudioSession must be called prior to using this method.
A deviceId retrieved from getAudioOutputs
-StaticsetDirectly change the AVAudioSession category/mode.
+StaticsetDirectly change the AVAudioSession category/mode.
The configuration to use. Null values will be omitted and the existing values will be unchanged.
-StaticsetSet default audio track volume when new tracks are subscribed. +
StaticsetSet default audio track volume when new tracks are subscribed. Does not affect any existing tracks.
A number between 0.0 and 1.0, where 0.0 represents 0% volume and 1.0 represents full volume.
-StaticshowiOS only, requires iOS 11+.
+StaticshowiOS only, requires iOS 11+.
Displays an AVRoutePickerView for the user to choose their audio output.
-StaticstartStarts an AudioSession.
-StaticstopStops the existing AudioSession.
-StaticstartStarts an AudioSession.
+StaticstopStops the existing AudioSession.
+ExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalExperimentalOptionalparticipantIdentity: stringOptionalkeyIndex: numberExperimentalOptionalkeyIndex: numberExperimentalAccepts a passphrase that's used to create the crypto keys for a participant's stream.
-OptionalkeyIndex: numberExperimentalAccepts a passphrase that's used to create the crypto keys.
-OptionalkeyIndex: numberExperimentalExperimentalExperimentalExperimentalOptionalparticipantIdentity: stringOptionalkeyIndex: numberExperimentalOptionalkeyIndex: numberExperimentalAccepts a passphrase that's used to create the crypto keys for a participant's stream.
+OptionalkeyIndex: numberExperimentalAccepts a passphrase that's used to create the crypto keys.
+OptionalkeyIndex: numberExperimentalVisualizes audio signals from a TrackReference as bars. +
Visualizes audio signals from a TrackReference as bars.
If the state prop is set, it automatically transitions between VoiceAssistant states.
The LiveKitRoom component provides the room context to all its child components.
+
The LiveKitRoom component provides the room context to all its child components.
It is generally the starting point of your LiveKit app and the root of the LiveKit component tree.
It provides the room state as a React context to all child components, so you don't have to pass it yourself.
Use the default behavior of setupIOSAudioManagement instead.
Registers the required globals needed for LiveKit to work.
+Registers the required globals needed for LiveKit to work.
Must be called before using LiveKit.
Optionaloptions: RegisterGlobalsOptionsOptional configuration for global registration
-Set the log level for both the @livekit/react-native package and the @livekit-client package.
+
Set the log level for both the @livekit/react-native package and the @livekit-client package.
To set the @livekit-client log independently, use the liveKitClientLogLevel prop on the options object.
Sets up automatic iOS audio session management based on audio engine state.
+Sets up automatic iOS audio session management based on audio engine state.
Call this once at app startup (e.g. in index.js). registerGlobals()
invokes it for you by default unless autoConfigureAudioSession: false
is passed.
Whether to prefer speaker output. Defaults to true.
-OptionalonConfigureNativeAudio: (configurationState: AudioEngineConfigurationState) => AppleAudioConfigurationOptional custom callback for determining audio configuration.
-A cleanup function that removes the event handlers.
-By default the audio session is configured and activated natively as the +audio engine changes state, with no JavaScript involvement per transition.
+For custom categories/modes, pass a static IOSAudioSessionPolicy. +That policy is pushed to native once and applied on the audio worker thread.
+Calling this again replaces the previous setup, including switching +between the default and custom paths. Switch while disconnected; a switch +during an active call is unsupported. In particular, switching away from a +custom callback setup mid-call abandons the audio session activation that +the custom handlers took, so the session may stay active after the call ends.
+OptionalpreferSpeakerOutput: booleanWhether to prefer speaker output. Defaults to true.
+A cleanup function that removes the installed handlers or native +configuration. A cleanup function from a superseded setup is a no-op.
+Sets up automatic iOS audio session management with a static native policy.
+Unused when a full policy is provided; kept for +call-site consistency with the default overload.
+Static recording/playout configuration applied natively.
+setupIOSAudioManagement for the default native path and usage notes.
+The onConfigureNativeAudio callback is unsafe. It runs inside
+the audio engine's lifecycle callbacks while native code waits for the
+result (bounded at a few seconds). The callback must return quickly and
+must not call APIs that enter the WebRTC engine or a peer connection
+(for example addTransceiver, getUserMedia, or device enumeration):
+those can block on the same engine operation the callback is holding up.
+Prefer the default native path, or pass an IOSAudioSessionPolicy.
Default sort for participants, it'll order participants by:
+Default sort for participants, it'll order participants by:
OptionallocalParticipant: LocalParticipantOptionallocalParticipant: LocalParticipantOptionalonConfigureNativeAudio: (Use setupIOSAudioManagement instead. +
OptionalonConfigureNativeAudio: (Use setupIOSAudioManagement instead.
The room parameter is ignored — audio session is now managed
via audio engine events, not room track counts.
The onConfigureNativeAudio callback is also deprecated and unsafe: it
+runs under a bounded native wait on the audio worker thread. Prefer the
+default native path, or pass an IOSAudioSessionPolicy to
+setupIOSAudioManagement.
Note: the trackState passed to onConfigureNativeAudio is now
derived from the audio engine's playout/recording state, not from
publication counts. Edge cases can differ. For example, a
published-but-muted local audio track that previously yielded
-localOnly may now appear as remoteOnly or none. Callers with
-nuanced per-state logic should migrate to setupIOSAudioManagement.
localOnly may now appear as remoteOnly or none.
+A hook for tracking the volume of an audio track across multiple frequency bands.
+A hook for tracking the volume of an audio track across multiple frequency bands.
OptionaltrackOrTrackReference: LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholderOptionaloptions: MultiBandTrackVolumeOptionsA number array containing the volume for each frequency band.
-Optionaloptions: RoomOptionsOptionaloptions: RoomOptionsA hook for tracking the volume of an audio track.
+A hook for tracking the volume of an audio track.
OptionaltrackOrTrackReference: LocalAudioTrack | RemoteAudioTrack | TrackReferenceOrPlaceholderA number between 0-1 representing the volume.
-For custom automatic behavior, disable the default setup and call
-setupIOSAudioManagement once during app startup:
import { registerGlobals, setupIOSAudioManagement } from '@livekit/react-native';
registerGlobals({ autoConfigureAudioSession: false });
const cleanup = setupIOSAudioManagement(true, (state) => ({
audioCategory: state.isRecordingEnabled ? 'playAndRecord' : 'playback',
audioCategoryOptions: ['mixWithOthers'],
audioMode: state.preferSpeakerOutput ? 'videoChat' : 'voiceChat',
}));
+For custom categories/modes, disable the default setup and pass a static
+policy to setupIOSAudioManagement once during app startup:
+import { registerGlobals, setupIOSAudioManagement } from '@livekit/react-native';
registerGlobals({ autoConfigureAudioSession: false });
const cleanup = setupIOSAudioManagement(true, {
recording: {
audioCategory: 'playAndRecord',
audioCategoryOptions: ['allowBluetooth', 'mixWithOthers'],
audioMode: 'videoChat',
},
playout: {
audioCategory: 'playback',
audioCategoryOptions: ['mixWithOthers'],
audioMode: 'spokenAudio',
},
});
The older useIOSAudioManagement(room, ...) hook is still exported for
@@ -194,4 +194,4 @@
LicenseDeveloper Community · Slack · X · YouTube
-
BetaBetaOptional BetabarNumber of bars that show up in the visualizer
-Optional BetaoptionsOptional BetastateIf set, the visualizer will transition between different voice assistant states
-Optional BetastyleCustom React Native styles for the container.
-Optional BetatrackOptional BetaoptionsOptional BetastateIf set, the visualizer will transition between different voice assistant states
+Optional BetastyleCustom React Native styles for the container.
+Optional BetatrackOptionalconnectIf set to true a connection to LiveKit room is initiated.
OptionalconnectDefine options how to connect to the LiveKit server.
+OptionalconnectDefine options how to connect to the LiveKit server.
Optional ExperimentalfeatureOptionalonOptionalonOptionalonOptionalonOptionalonOptionaloptionsOptions for when creating a new room. +
Optional ExperimentalfeatureOptionalonOptionalonOptionalonOptionalonOptionalonOptionaloptionsOptions for when creating a new room. When you pass your own room instance to this component, these options have no effect. Instead, set the options directly in the room instance.
OptionalroomOptional room instance. +
OptionalroomOptional room instance.
By passing your own room instance you overwrite the options parameter,
make sure to set the options directly on the room instance itself.
OptionalscreenPublish screen share immediately after connecting to your LiveKit room.
+OptionalscreenPublish screen share immediately after connecting to your LiveKit room.
URL to the LiveKit server. +
URL to the LiveKit server.
For example: wss://<domain>.livekit.cloud
To simplify the implementation, undefined is also accepted as an intermediate value, but only with a valid string url can the connection be established.
OptionalsimulateA user specific access token for a client to authenticate to the room. +
OptionalsimulateA user specific access token for a client to authenticate to the room.
This token is necessary to establish a connection to the room.
To simplify the implementation, undefined is also accepted as an intermediate value, but only with a valid string token can the connection be established.
OptionalvideoPublish video immediately after connecting to your LiveKit room.
+OptionalvideoPublish video immediately after connecting to your LiveKit room.
AlphaInterface for configuring options for the useMultibandTrackVolume hook.
-AlphaInterface for configuring options for the useMultibandTrackVolume hook.
+Optional Alphabandsthe number of bands to split the audio into
-Optional Alphamaxcut off frequency on the higher end
-Optional Alphamincut off frequency on the lower end
-Optional Alphaupdateupdate should run every x ms
-Optional Alphamaxcut off frequency on the higher end
+Optional Alphamincut off frequency on the lower end
+Optional Alphaupdateupdate should run every x ms
+OptionalcameraOptionalmetadataOptionalmicrophoneOptionalscreenOptionalcameraOptionalmetadataOptionalmicrophoneOptionalscreenOptionalaudioCorresponds to Android's AndroidAttributes content type.
Defaults to 'speech'.
See also https://developer.android.com/reference/android/media/AudioAttributes
-OptionalaudioCorresponds to Android's AudioAttributes usage type.
+OptionalaudioCorresponds to Android's AudioAttributes usage type.
Defaults to 'voiceCommunication'.
See also https://developer.android.com/reference/android/media/AudioAttributes
-OptionalaudioCorresponds to the duration hint when requesting audio focus.
+OptionalaudioCorresponds to the duration hint when requesting audio focus.
Defaults to 'gain'.
See also https://developer.android.com/reference/android/media/AudioManager#AUDIOFOCUS_GAIN
-OptionalaudioOptionalaudioCorresponds to https://developer.android.com/reference/android/media/AudioManager#setMode(int)
Defaults to 'inCommunication'.
-OptionalaudioCorresponds to the stream type when requesting audio focus. Used on pre-O devices.
+OptionalaudioCorresponds to the stream type when requesting audio focus. Used on pre-O devices.
Defaults to 'voiceCall'
See also https://developer.android.com/reference/android/media/AudioManager#STREAM_VOICE_CALL
-OptionalforceOn certain Android devices, audio routing does not function properly and +
OptionalforceOn certain Android devices, audio routing does not function properly and
bluetooth microphones will not work unless audio mode is set to
inCommunication or inCall. Audio routing is turned off those cases.
If this set to true, will attempt to do audio routing regardless of audio mode.
Defaults to false.
-OptionalmanageWhether LiveKit should handle managing the audio focus or not.
+OptionalmanageWhether LiveKit should handle managing the audio focus or not.
Defaults to true.
-Configuration for the underlying AudioSession.
+Configuration for the underlying AudioSession.
Android specific options:
By default, this is set to "speaker"
OptionalandroidOptionaliosOptionalandroidOptionaliosRetained only for the legacy useIOSAudioManagement hook and
-getDefaultAppleAudioConfigurationForMode. New code should pass an
-onConfigureNativeAudio callback to setupIOSAudioManagement, which
-receives an AudioEngineConfigurationState (playout/recording/speaker
-booleans). That shape has no direct AudioTrackState equivalent.
Retained only for the legacy useIOSAudioManagement hook and
+getDefaultAppleAudioConfigurationForMode. New code should use
+setupIOSAudioManagement (optionally with an IOSAudioSessionPolicy).
+That API is driven by playout/recording engine state, which has no direct
+AudioTrackState equivalent.
Static recording/playout policy for setupIOSAudioManagement.
+Unsafe. Prefer IOSAudioSessionPolicy or the default +native path. See setupIOSAudioManagement.
+Options for construction an RNKeyProvider
-Options for construction an RNKeyProvider
+Props for the VideoTrack component.
-Props for the VideoTrack component.
+import { startIOSPIP, stopIOSPIP } from '@livekit/react-native-webrtc';
// Obtain a ref to the view
const videoRef = useRef<Component>(null);
const videoView = (
<VideoTrack
ref={videoRef}
iosPIP={{
enabled: true,
startAutomatically: true,
preferredSize: {
width: 9,
height: 16,
},
}}
...
/>
);
// Start/stop manually
startIOSPIP(videoRef);
stopIOSPIP(videoRef);
-OptionalmirrorIndicates whether the video should be mirrored during rendering. +
OptionalmirrorIndicates whether the video should be mirrored during rendering. This is commonly used for front-facing cameras.
-OptionalobjectSpecifies how the video content should be resized to fit its container. +
OptionalobjectSpecifies how the video content should be resized to fit its container. 'cover' (default): The video will fill the entire container, potentially cropping the video. 'contain': The entire video will be visible within the container, potentially leaving empty space.
-OptionalstyleCustom React Native styles for the video container.
-The track reference to display. This should be a TrackReference object +
OptionalstyleCustom React Native styles for the video container.
+The track reference to display. This should be a TrackReference object or undefined if no track is available.
-OptionalzSpecifies the depth-stacking order of this video view in the stacking space of all video views. +
OptionalzSpecifies the depth-stacking order of this video view in the stacking space of all video views. A larger zOrder value generally causes the view to cover those with lower values.
The support for zOrder is platform-dependent and/or implementation-specific. Thus, specifying a value for zOrder is to be @@ -38,4 +38,4 @@ application usually needs a maximum of two zOrder values: 0 for the remote video(s) which appear in the background, and 1 for the local video(s) which appear above the remote video(s).
-ConstA pre-configured AndroidAudioConfiguration for voice communication.
+ConstA pre-configured AndroidAudioConfiguration for voice communication.
A pre-configured AndroidAudioConfiguration for media playback.
-ConstVideoTrack component for displaying video tracks in a React Native application. +
ConstVideoTrack component for displaying video tracks in a React Native application. It supports both local and remote video tracks from LiveKit, and handles adaptive streaming for remote tracks.
ConstConst
Applies the provided audio configuration to the underlying AudioSession.
Must be called prior to connecting to a Room for the configuration to apply correctly.
See also
-setupIOSAudioManagementfor automatic configuration of iOS audio options.