feat: cache device voice audio for playback

This commit is contained in:
stu2not
2026-05-15 15:34:34 +08:00
parent b71911d8c2
commit ac14bfc47f
10 changed files with 297 additions and 59 deletions

View File

@@ -15,7 +15,11 @@ class OfflineAudioCache:
async def get_audio_urls(self, device_id: str) -> List[str]:
async with self.lock:
return self.offline_audio.get(device_id, [])
return list(self.offline_audio.get(device_id, []))
async def pop_audio_urls(self, device_id: str) -> List[str]:
async with self.lock:
return self.offline_audio.pop(device_id, [])
async def clear_audio_urls(self, device_id: str):
async with self.lock:
@@ -31,4 +35,4 @@ class OfflineAudioCache:
return self.offline_audio
# 单例实例
offline_audio_cache = OfflineAudioCache()
offline_audio_cache = OfflineAudioCache()