Configure AndroidAudioAttributes from audio_session.

This commit is contained in:
Ryan Heise 2020-08-22 13:44:51 +10:00
parent 09eb73be34
commit c1716cbb3b
3 changed files with 12 additions and 2 deletions

View file

@ -200,6 +200,14 @@ class AudioPlayer {
onError: _playbackEventSubject.addError,
);
_sequenceSubject.add(null);
// Respond to changes to AndroidAudioAttributes configuration.
AudioSession.instance.then((audioSession) {
audioSession.configurationStream
.map((conf) => conf?.androidAudioAttributes)
.where((attributes) => attributes != null)
.distinct()
.listen(setAndroidAudioAttributes);
});
}
/// The latest [PlaybackEvent].
@ -636,6 +644,7 @@ class AudioPlayer {
/// platforms. This will cause a new Android AudioSession ID to be generated.
Future<void> setAndroidAudioAttributes(
AndroidAudioAttributes audioAttributes) async {
if (audioAttributes == null) return;
await _invokeMethod(
'setAndroidAudioAttributes', [audioAttributes.toJson()]);
}