Flavio Aliu
Flavio Aliu

Reputation: 11

Flutter Duck music when playing sound in audio_session

I want to play a short sound in my App and while doing that lowering the volume of the musik playing in another app on ios.

I tried initializing my Audio Service with these configurations

  Future<void> initAudioService() async {
    //audio_session INSTANCE
    final session = await AudioSession.instance;
    //audio_session DUCK OTHERS CONFIGURATION
    await session.configure(const AudioSessionConfiguration(
      avAudioSessionCategory: AVAudioSessionCategory.playback,
      avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.duckOthers,
      avAudioSessionMode: AVAudioSessionMode.defaultMode,
      avAudioSessionRouteSharingPolicy:
          AVAudioSessionRouteSharingPolicy.defaultPolicy,
      avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
      androidAudioAttributes: AndroidAudioAttributes(
        contentType: AndroidAudioContentType.music,
        usage: AndroidAudioUsage.media,
      ),
      androidAudioFocusGainType: AndroidAudioFocusGainType.gainTransientMayDuck,
      androidWillPauseWhenDucked: true,
    ));

    //INITIALIZE audio_service
    await AudioService.init(
      builder: () => _audioPlayer,
      config: const AudioServiceConfig(
        androidNotificationChannelId: 'com.uniteplay.app.audio',
        androidNotificationChannelName: 'Audio Service Demo',
        androidNotificationOngoing: true,
      ),
    );
  }

But it plays the sound on top of the music of another app.

Upvotes: 1

Views: 99

Answers (0)

Related Questions