20 lines
725 B
Python
20 lines
725 B
Python
from banban.service.message_audio_storage import MessageAudioStorageService
|
|
from utils.logger import session_logger
|
|
|
|
|
|
message_audio_storage_service = MessageAudioStorageService()
|
|
|
|
|
|
async def save_audio_file(audio_data: bytes, device_id: str) -> str:
|
|
"""Upload device audio to COS and return its object key."""
|
|
try:
|
|
stored = await message_audio_storage_service.upload_audio(
|
|
device_id=device_id,
|
|
content=audio_data,
|
|
)
|
|
session_logger.info(device_id, "audio", f"audio uploaded to COS: {stored.file_key}")
|
|
return stored.file_key
|
|
except Exception as e:
|
|
session_logger.error(device_id, "audio", f"failed to store audio: {e}", exc_info=True)
|
|
raise
|