1.22.0

Audio output management has been revamped!

🔨 What changed?

The SDK no longer depends on react-native-incall-manager for audio output management. Native methods and state management are now built into the SDK.

💡 How to migrate?

Setup

Remove react-native-incall-manager from your dependencies:

npm uninstall react-native-incall-manager
# or using yarn
yarn remove react-native-incall-manager

The peer dependency for @stream-io/react-native-webrtc is now >=125.4.4. Ensure this requirement is met.

Usage

Call start() from the callManager module before or immediately after joining a call. Call stop() when leaving:

import { callManager } from "@stream-io/video-react-native-sdk";

// To be called before joining a call or as soon as joining a call
callManager.start({
  audioRole: "communicator",
  deviceEndpointType: "speaker",
});

// To be called when a call is left
callManager.stop();

See our Speaker management documentation for details.

✨ New Features

  • Audio output device selection - choose between available audio outputs
  • Low latency toggle - disable low latency for audio-only use cases like livestream viewership
  • System audio control - system-wide audio muting and unmuting