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

Flutter iOS端音频无法在AirPods/蓝牙音箱播放,仅手机扬声器出声

iOS端蓝牙音频设备无声音问题解决方案

问题分析

使用audioplayers: ^4.1.0播放音频时,iOS端已连接的蓝牙设备(AirPods/蓝牙音箱)无法出声,仅手机主扬声器有声音,Android端正常。核心原因是iOS默认音频会话类别未启用蓝牙音频路由支持。

解决方案

在初始化AudioPlayer时,配置iOS专属的音频会话参数,指定支持蓝牙播放的类别:

修改代码步骤

  1. 在页面初始化阶段(比如StatefulWidget的initState方法)添加音频会话配置:
@override
void initState() {
  super.initState();
  _initAudioPlayer();
}

void _initAudioPlayer() async {
  audioPlayer = AudioPlayer();
  // 配置iOS音频会话,开启蓝牙设备播放支持
  await audioPlayer.setAudioSessionCategory(
    AudioSessionCategory.playback,
    mode: AudioSessionMode.music, // 音频为语音可改用AudioSessionMode.spokenAudio
    options: AudioSessionOptions(
      allowBluetooth: true,
      mixWithOthers: false,
    ),
  );
}
  1. 确保音频会话配置在播放操作前完成,避免临时设置导致的路由失效。

关键参数说明

  • AudioSessionCategory.playback:该类别专为音频播放场景设计,支持将音频路由到蓝牙、耳机等外部音频输出设备。
  • allowBluetooth: true:明确允许iOS系统将音频输出到已连接的蓝牙设备,是解决该问题的核心配置。
  • mixWithOthers:设为true时允许当前音频与其他应用音频混合播放,设为false则独占音频通道。

验证步骤

  1. 重新编译并运行iOS项目
  2. 连接AirPods或蓝牙音箱
  3. 触发音频播放,检查蓝牙设备是否正常出声

内容的提问来源于stack exchange,提问作者Kanwarpreet Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 01:49:52