When playing TTS on a watchOS 27 device while AirPods or a Bluetooth headset are connected to both the Apple Watch and the iPhone:
Playback begins by calling the setActive function of AVAudioSession.
A successful response is received, but...
...AVAudioSession.currentRoute.outputs lists only the built-in speaker, with no entry for the Bluetooth headset or earphones.
After a brief delay, an AVAudioSession.routeChangeNotification is received, and playback then switches to the AirPods.
If TTS is stopped and playback is attempted again:
Playback frequently fails.
In this state, AVAudioSession.currentRoute.outputs still shows no Bluetooth headset or earphones.
However, checking the Bluetooth settings on the Apple Watch confirms that the AirPods or Bluetooth headset are properly connected.
If the app is restarted—or if you exit and re-enter the TTS playback screen—the first attempt succeeds (albeit with a delay), but subsequent attempts after stopping fail.
Sometimes, playback fails right from the start.
Even in this case, the AirPods remain properly connected.
The issue is resolved if the AirPods are disconnected from the iPhone and connected solely to the Apple Watch.
When connected only to the watch, AVAudioSession.currentRoute.outputs correctly includes the Bluetooth headset or earphones from the start, and playback issues do not occur when repeatedly stopping and restarting. Playback worked fine with simultaneous Bluetooth connections up to watchOS 26, but a strange issue has started occurring since watchOS 27.
We suspect this is a bug or error introduced in watchOS 27; could you please fix it?
The same issue persists even after the recent update to version 27.0.1.
Alternatively, please let us know if there is a way to resolve this within the app itself.
It seems impossible to fix this in the current code because there is no way to programmatically trigger a popup on the Apple Watch that forces the selection of a currently connected Bluetooth headset or AirPods.
Also, it does not appear to be an issue with the TTS API.