当我尝试使用以下代码从 ALMemory
获取数据时:
session.service("ALMemory").done(function (ALMemory) {
var value = ALMemory.getData("ALTextToSpeech/TextDone");
});
此值
的类型为AL::ALValue
。我怎样才能将它转换为 int,因为在这种情况下,当前说话时预计为 0,当前不说话时预计为 1。我试图用不同的方法将它转换为 int 或数字或字符串,但没有成功。
当我将此功能与 python SDK 一起使用时:
def onLoad(self):
self.memory = ALProxy("ALMemory")
def onUnload(self):
self.memory = None
def onInput_checkIfSpeaking(self, p):
value = self.memory.getData("ALTextToSpeech/TextDone")
此 value
是 int 类型,而不是 AL::ALValue
。这有可能用 JavaScript 实现吗?
最佳答案
在回调中设置您的值(所有函数返回 promise ,您可以在其上附加回调:promise.then(onFulfilled, onRejected)
):
session.service("ALMemory").then( function (ALMemory) {
ALMemory.getData("ALTextToSpeech/TextDone").then( function (TextDone) {
var value = TextDone;
});
});
作为记录,文档位于此处:http://doc.aldebaran.com/2-5/dev/js/index.html
关于javascript - 使用JS从ALMemory中获取数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47439310/