diff --git a/lib/modules/agent/views/agent_view.dart b/lib/modules/agent/views/agent_view.dart index 7ed4c0ddd..054a37ca0 100644 --- a/lib/modules/agent/views/agent_view.dart +++ b/lib/modules/agent/views/agent_view.dart @@ -4,6 +4,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter_intro/flutter_intro.dart'; import 'package:get/get.dart'; +import 'package:haptic_feedback/haptic_feedback.dart'; import '../../../core/widgets/intro_overlay_builder.dart'; import '../controllers/agent_controller.dart'; import '../controllers/message_action_controller.dart'; @@ -616,6 +617,7 @@ class _AgentViewState extends State with WidgetsBindingObserver { _holdTimer = Timer( const Duration(milliseconds: 100), () { + Haptics.vibrate(HapticsType.success); controller.startPushToTalk(); // if (activeSpeaker == 0) { // if (speakerId == 1) { diff --git a/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift b/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift index 47238fa4f..347838118 100644 --- a/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift +++ b/local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift @@ -1523,7 +1523,7 @@ class AudioPlayer { stopAwaitSound() // 播放等待音效 - playLoopSound(named: "await", fileType: "mp3", player: &awaitPlayer) + playLoopSound(named: "await", fileType: "mp3", player: &awaitPlayer,volume:0.2) // 启动超时定时器 startAwaitTimeout() @@ -1564,7 +1564,7 @@ class AudioPlayer { os_log("未找到音频文件: %{public}@.%{public}@ in bundle %{public}@", log: logger, type: .error, named, fileType, resourcesBundle.bundlePath) } - private func playLoopSound(named: String, fileType: String = "mp3", player: inout AVAudioPlayer?) { + private func playLoopSound(named: String, fileType: String = "mp3", player: inout AVAudioPlayer?, volume: Float = 1.0) { // 停止当前播放的循环音频 player?.stop() player = nil @@ -1572,6 +1572,10 @@ class AudioPlayer { if let path = resourcesBundle.path(forResource: named, ofType: fileType) { let url = URL(fileURLWithPath: path) safePlayLoopAudio(url: url, player: &player) + + // 在创建播放器之后设置音量 + player?.volume = volume + return }