Browse Source

上传音乐服务

newdev_shunjiawei
liwei1dao 1 year ago
parent
commit
e6daaeca7c
  1. 2
      lib/modules/agent/views/music_card.dart
  2. 5
      local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift
  3. 1
      local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleCompanionManager.kt
  4. 6
      local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift

2
lib/modules/agent/views/music_card.dart

@ -233,7 +233,7 @@ Widget buildMusicContent(
final id = item["id"]; final id = item["id"];
final name = item["name"] ?? "未知歌曲"; final name = item["name"] ?? "未知歌曲";
final url = item["url"] ?? ""; final url = item["url"] ?? "";
final singer = item["sgener"] ?? "未知歌手"; final singer = item["singer"] ?? "未知歌手";
final image = item["image"] ?? ""; final image = item["image"] ?? "";
final ts = item["ts"] ?? 0; final ts = item["ts"] ?? 0;
return Column( return Column(

5
local_plugins/agent_service/ios/agent_service/Sources/agent_service/AgentServiceImpl.swift

@ -1450,6 +1450,7 @@ extension AgentServiceImpl: TtsEventListener {
restartIdleCheck() restartIdleCheck()
sendEvent(name: "tts_started", data: ["status": "started"]) sendEvent(name: "tts_started", data: ["status": "started"])
audioPlayer?.stopAwaitSound() audioPlayer?.stopAwaitSound()
case .synthesisCompleted: case .synthesisCompleted:
isSpeaking = false isSpeaking = false
restartIdleCheck() restartIdleCheck()
@ -1458,11 +1459,11 @@ extension AgentServiceImpl: TtsEventListener {
case .playbackStarted: case .playbackStarted:
restartIdleCheck() restartIdleCheck()
sendEvent(name: "playback_started", data: ["status": "playback_started"]) sendEvent(name: "playback_started", data: ["status": "playback_started"])
MusicService.shared.reduceVolume()
case .playbackCompleted: case .playbackCompleted:
restartIdleCheck() restartIdleCheck()
sendEvent(name: "playback_completed", data: ["status": "playback_completed"]) sendEvent(name: "playback_completed", data: ["status": "playback_completed"])
MusicService.shared.restoreVolume()
case .synthesisCanceled: case .synthesisCanceled:
isSpeaking = false isSpeaking = false
restartIdleCheck() restartIdleCheck()

1
local_plugins/ble_service/android/src/main/kotlin/com/yunqiinnovation/ble_service/BleCompanionManager.kt

@ -395,6 +395,7 @@ class BleCompanionManager(private val context: Context) {
// 构建过滤器 // 构建过滤器
val filter = ScanFilter.Builder() val filter = ScanFilter.Builder()
.setDeviceAddress(mac) .setDeviceAddress(mac)
// .setServiceUuid(ParcelUuid(java.util.UUID.fromString("0000FEAA-0000-1000-8000-00805F9B34FB")))
.setManufacturerData(0xEFAB, byteArrayOf(0xA0.toByte(), 0x01)) .setManufacturerData(0xEFAB, byteArrayOf(0xA0.toByte(), 0x01))
.build() .build()

6
local_plugins/music_service/ios/music_service/Sources/music_service/MusicService.swift

@ -273,10 +273,10 @@ public class MusicService: NSObject {
} }
/// 降低音量(AI说话时) /// 降低音量(AI说话时)
func reduceVolume() { public func reduceVolume() {
if !isVolumeReduced { if !isVolumeReduced {
originalVolume = currentVolume originalVolume = currentVolume
let reducedVolume = max(0.0, min(1.0, currentVolume * 0.3)) // 降低到30% let reducedVolume = max(0.0, min(1.0, currentVolume * 0.2)) // 降低到30%
setVolume(volume: reducedVolume) setVolume(volume: reducedVolume)
isVolumeReduced = true isVolumeReduced = true
print("AI说话开始,音量从 \(originalVolume) 降低到 \(reducedVolume)") print("AI说话开始,音量从 \(originalVolume) 降低到 \(reducedVolume)")
@ -284,7 +284,7 @@ public class MusicService: NSObject {
} }
/// 恢复原始音量(AI说话结束时) /// 恢复原始音量(AI说话结束时)
func restoreVolume() { public func restoreVolume() {
if isVolumeReduced { if isVolumeReduced {
setVolume(volume: originalVolume) setVolume(volume: originalVolume)
isVolumeReduced = false isVolumeReduced = false

Loading…
Cancel
Save