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

Flutter iOS应用:如何用just_audio_background将锁屏切歌按钮改为快进/后退

解决iOS锁屏媒体控制按钮切换为快进/后退的方案
  • 先确认iOS后台播放权限配置:在Info.plist中添加UIBackgroundModes数组,包含audio项,确保应用支持后台音频播放。

  • 正确初始化JustAudioBackground,务必配置fastForwardInterval和rewindInterval,同时不要强制启用列表导航模式:

    await JustAudioBackground.init(
      androidNotificationChannelId: 'your.channel.id',
      androidNotificationChannelName: 'Audio Playback',
      androidNotificationOngoing: true,
      fastForwardInterval: const Duration(seconds: 15), // 自定义快进时长
      rewindInterval: const Duration(seconds: 15),    // 自定义后退时长
    );
    
  • 控制播放器队列状态:

    • 如果播放单音频文件,直接设置单个MediaItem作为音频源,iOS会自动将锁屏按钮切换为快进/后退:
      await player.setAudioSource(
        AudioSource.uri(Uri.parse('your_audio_url')),
        initialIndex: 0,
        initialPosition: Duration.zero,
      );
      
    • 如果是播放列表但需要强制显示快进/后退,手动监听并处理系统的媒体控制事件:
      // 监听系统媒体按钮事件
      JustAudioBackground.onMediaButtonPressed.listen((MediaButton button) {
        switch (button) {
          case MediaButton.fastForward:
            player.seek(player.position + const Duration(seconds: 15));
            break;
          case MediaButton.rewind:
            player.seek(player.position - const Duration(seconds: 15));
            break;
          default:
            // 处理其他按钮逻辑
            break;
        }
      });
      
  • 额外检查:确保MediaItem未设置isPlayable: false等限制属性,避免系统判定为不可操作媒体项。

  • iOS端特殊配置:如果以上步骤无效,在AppDelegate.swift中手动配置音频会话类别为.playback:

    import AVFoundation
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        do {
            try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
            try AVAudioSession.sharedInstance().setActive(true)
        } catch {
            print("Failed to configure audio session: \(error)")
        }
        return true
    }
    

内容的提问来源于stack exchange,提问作者George F

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 00:32:19