지난번에 이어 오늘은 Bixby로 하여금 말을 하게 해보자.
아직 result-view로 output을 design하는 것을 잘 알지 못하겠고,
Dialog를 써서 소리를 내는 것만 할 수 있을 것같다. (Dialog 재정의 하기)
Dialog event중에서 Result에 대한 dialog를 재정의해서 출력시 소리가 나오게 한다.
1. resources/en-US/dialogs/helloVoice.dialog.bxb
* resources/en-US/dialogs에서 오른쪽 click -> New... -> Dialog 선택한 다음 helloVoice를 생성하고 아래 내용으로 채운다.
dialog (Result) {
match: world (txt) {
from-output: doHelloWorld ()
}
if (txt == 'hello, world') {
template("HELLO, WORLD") {
speech ("hello, world")
}
} else-if (txt == 'foo, bar') {
template ("FOO, BAR") {
speech ("foo, bar")
}
}
}
* match: {} 부분을 설명하자면 (파악하는데, 시간이 걸렸다.)
doHelloWorld action에서 나오는 결과값중에서 변수 타입이 world인 txt 변수에 대해서 처리한다.
* 그리고나서 txt 내용에 따라서 출력할 내용을 정한다.
speech() 함수를 이용해서 소리내서 말하게 하는데, SSML이라는 문법을 사용한다고 한다.
* 참고로 javascript 함수인 HelloWorld()에서 return 값이 "foo, bar"로 return하면 "foo, bar"로 발음한다.
예제 파일은 https://github.com/tolkien/playground.helloworld 에서 받을 수 있습니다.
다음할 일 : 입력을 say hello로 받으면 hello, world를, say foo를 받으면 foo, bar를 말하게 하기