You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter:AssetsAudioPlayer播放时终止其他音视频的解决方案咨询

解决AssetsAudioPlayer播放提示音打断背景音频的问题

要让答题应用的提示音和用户正在播放的音乐/视频共存,核心是调整AssetsAudioPlayer的音频会话配置,允许它与其他音频混合播放,而非抢占音频焦点。

修改代码配置

在调用open方法时,添加audioSessionConfiguration参数,指定音频会话的类别和混合选项:

final assetsAudioPlayer = AssetsAudioPlayer();                 
assetsAudioPlayer.open(
  Audio("sounds/correct.mp3"),
  // 配置音频会话,允许与其他音频混合
  audioSessionConfiguration: AudioSessionConfiguration(
    avAudioSessionCategory: AVAudioSessionCategory.playback,
    avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.mixWithOthers,
    avAudioSessionMode: AVAudioSessionMode.defaultMode,
    avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy,
    avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
  ),
);

关键配置说明

  • mixWithOthers:这个选项是核心,它告诉系统当前应用的音频不需要独占音频通道,可以和其他应用的音频混合播放。
  • playback类别:适用于需要发声的场景(即使提示音时长较短,该类别也能确保在后台音频播放时正常发声)。

额外注意

如果应用同时支持Android和iOS,AssetsAudioPlayer会自动处理跨平台的音频会话差异,上述配置在两个平台都能生效。错误提示音只需替换音频路径为sounds/wrong.mp3,复用同样的配置即可。

内容的提问来源于stack exchange,提问作者Ebuzer SARIYERLİOĞLU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:38:26