63 lines
1.8 KiB
Python
63 lines
1.8 KiB
Python
import json
|
|
|
|
from ...rpc.client import Client
|
|
from .g1_audio_api import *
|
|
|
|
"""
|
|
" class SportClient
|
|
"""
|
|
class AudioClient(Client):
|
|
def __init__(self):
|
|
super().__init__(AUDIO_SERVICE_NAME, False)
|
|
self.tts_index = 0
|
|
|
|
def Init(self):
|
|
# set api version
|
|
self._SetApiVerson(AUDIO_API_VERSION)
|
|
|
|
# regist api
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_TTS, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_ASR, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_START_PLAY, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_STOP_PLAY, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_GET_VOLUME, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_SET_VOLUME, 0)
|
|
self._RegistApi(ROBOT_API_ID_AUDIO_SET_RGB_LED, 0)
|
|
|
|
## API Call ##
|
|
def TtsMaker(self, text: str, speaker_id: int):
|
|
self.tts_index += self.tts_index
|
|
p = {}
|
|
p["index"] = self.tts_index
|
|
p["text"] = text
|
|
p["speaker_id"] = speaker_id
|
|
parameter = json.dumps(p)
|
|
code, data = self._Call(ROBOT_API_ID_AUDIO_TTS, parameter)
|
|
return code
|
|
|
|
def GetVolume(self):
|
|
p = {}
|
|
parameter = json.dumps(p)
|
|
code, data = self._Call(ROBOT_API_ID_AUDIO_GET_VOLUME, parameter)
|
|
if code == 0:
|
|
return code, json.loads(data)
|
|
else:
|
|
return code, None
|
|
|
|
def SetVolume(self, volume: int):
|
|
p = {}
|
|
p["volume"] = volume
|
|
# p["name"] = 'volume'
|
|
parameter = json.dumps(p)
|
|
code, data = self._Call(ROBOT_API_ID_AUDIO_SET_VOLUME, parameter)
|
|
return code
|
|
|
|
def LedControl(self, R: int, G: int, B: int):
|
|
p = {}
|
|
p["R"] = R
|
|
p["G"] = G
|
|
p["B"] = B
|
|
parameter = json.dumps(p)
|
|
code, data = self._Call(ROBOT_API_ID_AUDIO_SET_RGB_LED, parameter)
|
|
return code
|