aws / aws/amazon-chime-sdk-ios

Automatic Audio Routing when AirPods or Bluetooth headset is connected

Open
#89 4 comments 0 reactions 0 assignees View on GitHub
feature-request Triaged
Dominant language
Swift
Stars
153
Forks
68
Avg merge
14h 20m
Merged PRs (30d)
3

Description

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When starting a video call, the user could have any bluetooth headset or AirPods plugged in. When the video call starts, the audio does not route correctly to the headset. Also, during a video call, if the user decides to wear their AirPods or any bluetooth headset, the audio doesn't automatically route or update.

**Describe the solution you'd like**
Provide an API for handling when the audio route changes, we can decide to switch to use the propose audio route or not. Or maybe the SDK could automatically handle this behind the scenes for us through `AVAudioSession`.

**Describe alternatives you've considered**
We've considered listening for notification changes directly from the `AVAudionSession.sharedInstance()`, but we would prefer to have one source of truth when it comes to the state of the audio in the video call.

**Additional context**
We've also looked into using the provided `DeviceChangeObserver` that is available on the `AudioVideoFacade`, but there aren't any clear examples of how to use this regarding AirPods or bluetooth headsets. The demo project currently only logs to the console when something changes.

Contributor guide

Open the contributing guide

Research direction

Start with AudioVideoFacade's DeviceChangeObserver and the demo project's existing console logging, then compare that behavior with AVAudioSession route-change notifications. Clarify whether the SDK should expose a route-change API or automatically select the proposed route; done means the chosen behavior is documented and verified for AirPods and Bluetooth headset connection changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, swift
Domain
audio-video-rtc, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.