Flutter: как возобновить воспроизведение звука в других приложениях на AndroidAndroid

Форум для тех, кто программирует под Android
Anonymous
Flutter: как возобновить воспроизведение звука в других приложениях на Android

Сообщение Anonymous »

Проблема
Я использую just_audio для воспроизведения звука в своем приложении вместе с audio_session. Когда мое приложение воспроизводит звук, я хочу, чтобы звук других приложений останавливался или приглушался и возобновлялся/отключался, когда мои приложения прекращают воспроизведение звука.
Текущий код
Вот как я сейчас представляю audio_session:

Код: Выделить всё

final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration(
androidAudioAttributes: AndroidAudioAttributes(
usage: AndroidAudioUsage.alarm,
contentType: AndroidAudioContentType.music,
),
androidAudioFocusGainType: AndroidAudioFocusGainType.gainTransientMayDuck,
androidWillPauseWhenDucked: false,
));
Вот как я воспроизвожу аудио:

Код: Выделить всё

AudioPlayer activePlayer = AudioPlayer(handleInterruptions: true);
await activePlayer.setLoopMode(loopMode);
await activePlayer.setAudioSource(AudioSource.uri(Uri.parse(ringtoneUri)));
await activePlayer.setVolume(volume);

// Other apps audio should stop/duck here
await activePlayer?.play();

...

// Other apps audio should resume/unduck here
await activePlayer?.stop();
Текущее поведение
Звук другого приложения приглушается (уменьшается по громкости) при воспроизведении(), но не отключается (возвращение к нормальной громкости) при stop(). Пробовал это с несколькими другими приложениями.
Что я здесь делаю не так?
Информация об устройстве
Я в настоящее время тестирую эмулятор Android 14 (Google API). Но такое же поведение будет и на устройствах Android 13. На старых устройствах еще не тестировал.

Подробнее здесь: https://stackoverflow.com/questions/784 ... on-android

Вернуться в «Android»