运行条件:waft前端框架 > 0.7.x

TTS 播报文本:aliGenie.playTTS

  1. import { aliGenie } from 'waft';
  2. // 第一个参数为tts内容,第二个参数为是否开麦
  3. const sessionId = aliGenie.playTTS("语音播报内容", false);

停止 TTS 播报:aliGenie.stopTTS

  1. import { aliGenie } from 'waft';
  2. // sessionId为上一次播放的sessionId
  3. aliGenie.stopTTS(sessionId);

监听 TTS 播报:aliGenie.setTTSListener

  1. import { aliGenie, console, TTSResult, TTSResultStatus } from 'waft';
  2. const sessionId = aliGenie.playTTS('你好测试测试');
  3. aliGenie.setTTSListener(sessionId, (result: TTSResult)=>{
  4. // 获取status
  5. const status = result.status;
  6. console.log('status:' + status.toString());
  7. // 默认情况
  8. switch(status){
  9. case TTSResultStatus.DEFAULT:
  10. console.log('case DEFAULT');
  11. break;
  12. case TTSResultStatus.START:
  13. console.log('case DEFAULT');
  14. break;
  15. case TTSResultStatus.STOP:
  16. console.log('case STOP');
  17. break;
  18. case TTSResultStatus.EXCEPTION:
  19. console.log('case EXCEPTION');
  20. break;
  21. default:
  22. console.log('case unknown');
  23. break;
  24. }
  25. });

模拟 nlu:aliGenie.nlu

  1. import { aliGenie } from 'waft';
  2. aliGenie.nlu('精灵退出'); // 可执行退出技能的操作

退出多轮语音技能:aliGenie.quitMultiDialog

当前容器暂未支持自动退出多轮语音,需要手动处理下

  1. import { JSONObject } from "waft-json";
  2. import { console, App, aliGenie, system, compareVersion,window, Event, WaftBridge } from "waft";
  3. export class MyApp extends App{
  4. onLaunch(options: JSONObject): void{
  5. window.onunload = ():void=>{
  6. aliGenie.quitMultiDialog();
  7. };
  8. }
  9. }