实现异步类
This commit is contained in:
parent
241ac482e4
commit
2f93e9a313
42
unitree_sdk2_python-master/example/g1/audio/async_audio.py
Normal file
42
unitree_sdk2_python-master/example/g1/audio/async_audio.py
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import asyncio
|
||||||
|
import concurrent.futures
|
||||||
|
import json
|
||||||
|
from unitree_sdk2py.g1.audio.g1_audio_client import AudioClient
|
||||||
|
|
||||||
|
|
||||||
|
# ROBOT_API_ID_AUDIO_TTS = 1001
|
||||||
|
# ROBOT_API_ID_AUDIO_ASR = 1002
|
||||||
|
# ROBOT_API_ID_AUDIO_START_PLAY = 1003
|
||||||
|
# ROBOT_API_ID_AUDIO_STOP_PLAY = 1004
|
||||||
|
# ROBOT_API_ID_AUDIO_GET_VOLUME = 1005
|
||||||
|
# ROBOT_API_ID_AUDIO_SET_VOLUME = 1006
|
||||||
|
# ROBOT_API_ID_AUDIO_SET_RGB_LED = 1010
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class AsyncAudioClient(AudioClient):
|
||||||
|
def __init__(self):
|
||||||
|
super().__init__()
|
||||||
|
self.executor = concurrent.futures.ThreadPoolExecutor()
|
||||||
|
|
||||||
|
async def async_tts_maker(self, text: str, speaker_id: int):
|
||||||
|
loop = asyncio.get_event_loop()
|
||||||
|
return await loop.run_in_executor(
|
||||||
|
self.executor,
|
||||||
|
self.TtsMaker,
|
||||||
|
text,
|
||||||
|
speaker_id
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
async def main():
|
||||||
|
async_audio_client = AsyncAudioClient()
|
||||||
|
async_audio_client.Init()
|
||||||
|
|
||||||
|
# 并发执行多个TTS任务
|
||||||
|
tasks = [
|
||||||
|
async_audio_client.async_tts_maker("Hello", 0),
|
||||||
|
async_audio_client.async_tts_maker("World", 0)
|
||||||
|
]
|
||||||
|
|
||||||
|
results = await asyncio.gather(*tasks)
|
||||||
Loading…
Reference in New Issue
Block a user