voip_audio_route_manager 1.1.1 copy "voip_audio_route_manager: ^1.1.1" to clipboard
voip_audio_route_manager: ^1.1.1 copied to clipboard

VoIP Audio Route Manager: A production-ready Flutter package for advanced audio output device management and routing for VoIP communication applications.

1.1.1 - 2026-06-22 #

Fixed #

  • iOS: Automatically detect active CallKit or WebRTC sessions and bypass native setActive(true/false) calls to prevent conflicts and call disconnects.
  • iOS: Prevent clearAudioRoute from deactivating the active call session.
  • iOS: Synchronized Swift Package Manager (SPM) and CocoaPods implementations to resolve missing methods.

1.1.0 - 2026-06-17 #

Added #

  • VoIP call session lifecycle APIs: startCallSession() and endCallSession().
  • Verified route selection APIs returning AudioRouteResult.
  • clearAudioRoute() to release explicit route requests and properly tear down audio sessions when calls end.
  • getAvailableRoutes() — query currently available audio output devices before switching.
  • onRouteChanged stream — reactive stream for OS-level audio route changes.
  • AudioRoute model with AudioRouteType enum for type-safe route handling.

Fixed #

  • Android: switchToSpeaker() silently failing when app launched from terminated state via flutter_callkit_incoming (FCM inbound call scenario).
  • Android 12+ (API 31+): Replaced deprecated setSpeakerphoneOn() with AudioManager.setCommunicationDevice() for reliable speaker routing.
  • Android: AudioManager now set to MODE_IN_COMMUNICATION before every route change.
  • Android: AudioFocusRequest properly requested with USAGE_VOICE_COMMUNICATION.
  • Both platforms: Added AudioDeviceCallback (Android) / AVAudioSession notification (iOS) so onRouteChanged stream reflects the real OS-level route, not the intended one.

1.0.0 #

  • Initial stable, production-ready release of voip_audio_route_manager.
  • Implements unified audio output device discovery, routing, and management for VoIP communication applications.
  • Implements a federated structure with support across Android, iOS, macOS, and Web:
    • Android: Routing via Kotlin APIs and AudioManager.
    • iOS: AVAudioSession configuration, preferred route settings, and iPad-specific earpiece support.
    • macOS: Native output route discovery and management.
    • Web: Fully conforms to the W3C Audio Output Devices API:
      • Select audio output devices with selectAudioOutput() including optional deviceId support.
      • Automatically routes HTMLMediaElements and Web Audio AudioContext instances programmatically using ES6 Proxy interception and WeakRef tracking.
      • Resolves browser privacy issues by prompting for permissions before listing Bluetooth and other outputs.
3
likes
160
points
637
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

VoIP Audio Route Manager: A production-ready Flutter package for advanced audio output device management and routing for VoIP communication applications.

Homepage
Repository (GitHub)
View/report issues

Topics

#voip #audio-routing #webrtc #audio #media

License

MIT (license)

Dependencies

flutter, voip_audio_route_manager_android, voip_audio_route_manager_ios, voip_audio_route_manager_macos, voip_audio_route_manager_platform_interface, voip_audio_route_manager_web

More

Packages that depend on voip_audio_route_manager

Packages that implement voip_audio_route_manager