diff --git a/.changeset/pre.json b/.changeset/pre.json index 8fc8583..a9b4778 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -5,5 +5,7 @@ "@livekit/react-native": "2.10.2", "livekit-react-native-example": "0.1.0" }, - "changesets": [] + "changesets": [ + "wild-olives-shine" + ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 48fac70..86a4429 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # @livekit/react-native +## 2.11.0-beta.0 + +### Minor Changes + +- Migrate Apple platforms to AVAudioEngine-based audio device module - [#317](https://github.com/livekit/client-sdk-react-native/pull/317) ([@hiroshihorie](https://github.com/hiroshihorie)) + ## 2.10.2 ### Patch Changes diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 08546c2..3aedfca 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "eJydl01z2jAQhv+LzkzTkCZtuUFLM5lAw4SES6YHYS+OJrLkkda0tNP/3sEOsSTrA3rlfffRrrRai6c/BOEXkhEZ1zmTS9CaSUEGpKL4TEYk41Rr0Gem+u4ZS04G5IWJnIzOh5/+Dt4o99+nw+l0TgUtQPUxlhzn3MJuoeSW5X6OIcc4E6pWTNeUs9+gFkpWuoMxgaA2NAN91rfZ0OHllQGdsS3cMryXsgwjXVMMOK85sgkV+YOi2ctK8rqEuwqZFH52xB9bZkEVsoxVVOASKYKX7Zp6wEF7CmREcqgUZBQhJ+bRQcE0grrmck25jtXht8ZKsBooXETfFoVKWUbT7PQUJpLSQY0hxiJXkuXNbXvYVf0mwF21v41+m0N+//nj+eXQpFcVhyboC0UopNr1wD3H6cw2mTS59Z3Al2LDilrRBN60HU+fyxzC0L2aZKWTPD2/5oT3l9xpLAPYySmaNeUCreXzpLgzWcxgC9xlHX5PxTtDtA32Dc02MjmAzI9DoEyfJ5XmEvBQUYDad6SYjxqsWRUAB2wp+orl0PaHd4sdOdmMztRZKNCABnVLFaNr7hlQr1Z7hQsTzmXhA3FZRIK6AnyxnRpBWP3eUTa1yJotti+EDbr6YIAKwK+woTXHwCz6JpU9ZLo1jo2NLG88N3wrGHIEouzvsQ/kWCIw3V0GH8iQYxCp0HiReFNyPRFcrWFC1ViwkqL0HrftiKNu7pbt16G5lCUIDBD7xji4ed+t7fddAO2zxuHGVgWYhsNFpWZv7QyqwAqR/wFuuqGOfpX+I8H0ph63l818WTH46aO8iccl+OMf4HmqfQ==" \ No newline at end of file +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 diff --git a/docs/assets/search.js b/docs/assets/search.js index 14bb103..f5ce404 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 e8de383..0f015e3 100644 --- a/docs/classes/AudioSession.html +++ b/docs/classes/AudioSession.html @@ -1,4 +1,4 @@ -
StaticconfigureStaticgetGets the available audio outputs for use with selectAudioOutput.
+See also setupIOSAudioManagement for automatic configuration of iOS audio options.
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.
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.
+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.
+Default sort for participants, it'll order participants by:
+Default sort for participants, it'll order participants by:
OptionallocalParticipant: LocalParticipantOptionallocalParticipant: LocalParticipantHandles setting the appropriate AVAudioSession options automatically -depending on the audio track states of the Room.
-OptionalonConfigureNativeAudio: (A custom method for determining options used.
-OptionalonConfigureNativeAudio: (Use setupIOSAudioManagement instead.
+The room parameter is ignored — audio session is now managed
+via audio engine events, not room track counts.
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.
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.
-await AudioSession.configureAudio({
android: {
preferredOutputList: ['earpiece'],
// See [AudioManager](https://developer.android.com/reference/android/media/AudioManager)
// for details on audio and focus modes.
audioTypeOptions: {
manageAudioFocus: true,
audioMode: 'normal',
audioFocusMode: 'gain',
audioStreamType: 'music',
audioAttributesUsageType: 'media',
audioAttributesContentType: 'unknown',
},
},
});
await AudioSession.startAudioSession();
-For iOS, the most appropriate audio configuration may change over time when local/remote
-audio tracks publish and unpublish from the room. To adapt to this, the useIOSAudioManagement
-hook is advised over just configuring the audio session once for the entire audio session.
For iOS, registerGlobals() automatically configures and activates the audio
+session based on WebRTC audio engine lifecycle events. This is enabled by
+default and is usually enough for voice and video apps:
registerGlobals();
+
+
+If your app manages AVAudioSession directly, disable the automatic setup:
registerGlobals({ autoConfigureAudioSession: false });
+
+
+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',
}));
+
+
+The older useIOSAudioManagement(room, ...) hook is still exported for
+backward compatibility, but it is deprecated. New code should prefer the
+startup-level audio engine integration above.
Enabling screenshare requires extra installation steps:
Android screenshare requires a foreground service with type mediaProjection to be present.
From version 2.4.0 onwards, the foreground service is handled internally, @@ -154,4 +169,4 @@
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
+OptionalcameraOptionalmetadataOptionalmicrophoneOptionalscreenOptionalcameraOptionalmetadataOptionalmicrophoneOptionalscreenOptionalautoAutomatically configure audio session before accessing microphone. -When enabled, sets the iOS audio category to 'playAndRecord' before getUserMedia. -Has no effect on non-iOS platforms.
+OptionalaudioCorresponds 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.
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 useIOSAudioManagement for automatic configuration of iOS audio options.
-