2017-11-21 11 views
1

현재 로봇이 말하고있는 경우 정보를받을 수있는 방법이 있습니까? ALDialog 및 ALTextToSpeech API를 살펴 보았지만 유용한 정보를 찾을 수 없습니다.Pepper가 현재 통화 중인지 확인하는 방법

ALDialog.isSpeaking()과 같은 것을 찾고 있는데, Pepper가 현재 무언가를 말하고 있다면 'True'를 반환하고 메소드 호출을하는 순간에는 'False'를 반환합니다.

답변

3

더 정확하게 말하기에 대해 당신에게 정보를 제공하는 당신이 구독 할 수 있습니다 ALMemory에 게시 된 다양한 정보가있다 : 어떤 단어 현재 말 ...

JVoyage [0] ~ $ qicli call ALMemory.getDataList ALTextToSpeech 
["ALTextToSpeech/CurrentSentence","ALTextToSpeech/PositionOfCurrentWord", 
"ALTextToSpeech/CurrentBookMark","ALTextToSpeech/TextStarted","ALTextToSpeech/TextDone", 
"ALTextToSpeech/Status","ALTextToSpeech/CurrentWord","ALTextToSpeech/TextInterrupted"] 

자세한 내용 : http://doc.aldebaran.com/2-1/naoqi/audio/altexttospeech-api.html#ALTextToSpeech/Status

0

나는 또한 당신이 묘사하는 것과 같은 방법을 찾고 있었지만 아무 것도 찾지 못했습니다. 스피커가 작동하는지 확인하는 해결 방법을 만들었습니다. 그 것 말할 수, 연주 음악 등

# initialize 
self.boolSpeakersPlaying = True 
self.audioDevice = self.session.service("ALAudioDevice") 
self.signalID = self.audioDevice.speakersPlaying.connect(self.signalReceived) 

#main 
def signalReceived(self, arg): 
self.logger.info("signal changed to = " + str(arg)) 
self.boolSpeakersPlaying = arg 

def spam(self): 
if not self.boolSpeakersPlaying: 
    #do something