From 240a4ce1220afe62d614094fa8eb322093535008 Mon Sep 17 00:00:00 2001 From: fdp <1286779656@qq.com> Date: Sun, 24 Aug 2025 16:31:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E5=A4=84=E6=B2=A1=E7=94=A8=E7=9A=84?= =?UTF-8?q?=E9=9F=B3=E6=BA=90=E5=88=87=E6=8D=A2=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=9F=B3=E9=87=8F=E8=B0=83=E6=95=B4=E5=90=A7qq=E9=9F=B3?= =?UTF-8?q?=E4=B9=90=E5=B9=B2=E6=8E=89=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent_service/AudioSessionHub.swift | 3 +-- .../Sources/music_service/MusicService.swift | 20 +++++++++---------- .../realtime/RealtimeAudioManager.swift | 15 +------------- 3 files changed, 12 insertions(+), 26 deletions(-) diff --git a/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AudioSessionHub.swift b/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AudioSessionHub.swift index d008a4a79..71c363611 100644 --- a/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AudioSessionHub.swift +++ b/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AudioSessionHub.swift @@ -543,9 +543,8 @@ public class AudioSessionHub { private func performVolumeControlWithMPVolumeView(action: VolumeControlAction, value: Float?, completion: @escaping (Bool, String) -> Void) { // 确保在有音频会话的情况下进行音量控制 do { + try audioSession.setCategory(.playback, mode: .videoChat, options: [.defaultToSpeaker, .allowBluetooth,.mixWithOthers]) try audioSession.setActive(true) - // 设置为播放类别,这样音量控制才能生效 - try audioSession.setCategory(.playback, mode: .default, options: []) } catch { os_log("设置音频会话失败: %{public}@", log: logger, type: .error, error.localizedDescription) } diff --git a/local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift b/local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift index 1e3d36863..c506c98aa 100644 --- a/local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift +++ b/local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift @@ -34,7 +34,7 @@ public class MusicService: NSObject { private override init() { super.init() setupRemoteCommandCenter() - setupAudioSession() + //setupAudioSession() } public func initialize(serviceUrl: String, userToken: String) { @@ -44,15 +44,15 @@ public class MusicService: NSObject { } - // MARK: - 音频会话设置 - private func setupAudioSession() { - do { - try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.allowAirPlay, .allowBluetooth]) - try AVAudioSession.sharedInstance().setActive(true) - } catch { - print("设置音频会话失败: \(error)") - } - } + // // MARK: - 音频会话设置 + // private func setupAudioSession() { + // do { + // try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.allowAirPlay, .allowBluetooth]) + // try AVAudioSession.sharedInstance().setActive(true) + // } catch { + // print("设置音频会话失败: \(error)") + // } + // } // MARK: - 基础播放控制 func getCurrentUrlString() -> String? { diff --git a/local_plugins/realtime/ios/realtime/Sources/realtime/RealtimeAudioManager.swift b/local_plugins/realtime/ios/realtime/Sources/realtime/RealtimeAudioManager.swift index 93a38fb84..6309d7936 100644 --- a/local_plugins/realtime/ios/realtime/Sources/realtime/RealtimeAudioManager.swift +++ b/local_plugins/realtime/ios/realtime/Sources/realtime/RealtimeAudioManager.swift @@ -38,22 +38,9 @@ class RealtimeAudioManager { init() { playbackQueue = DispatchQueue(label: "com.realtime.playback", qos: .userInitiated) - setupAudioSession() } - /// 设置音频会话 - private func setupAudioSession() { - do { - let session = AVAudioSession.sharedInstance() - try session.setCategory(.playAndRecord, - mode: .default, - options: [.defaultToSpeaker, .allowBluetooth]) - try session.setActive(true) - os_log("音频会话设置成功", log: log, type: .info) - } catch { - os_log("音频会话设置失败: %@", log: log, type: .error, error.localizedDescription) - } - } + /// 初始化音频管理器 func initialize(config: AudioConfig) -> Bool {