支持中心

讨论社区

aiui多个离线命令怎么整

刚开始的时候写了两个bnf文件,然后用AIUIAgent发送了两个AIUIConstant.CMD_BUILD_GRAMMAR类型的AIUIMessage,但是只有一条成功。
于是就把多个离线命令写进了同一个bnf文件如下:

#BNF+IAT 1.0 UTF-8;
!grammar next;
!start <commands>;
<commands>:([播放]下一首!id(11)|[播放]下一曲!id(12)|播放下一个!id(13))|
([播放]上一首!id(21)|[播放]上一曲!id(22)|播放上一个!id(23))|
([播放]暂停!id(31)[播放]|[播放]停止!id(32)[播放])|
([播放]继续!id(41)[播放]|[播放]恢复!id(42)[播放])|
([放|播放|我要听|我想听]收藏的!id(51)(歌|歌曲|音乐));

这样是可以了,但是如果想每种离线命令单独作为一个bnf文件该怎么做?
还有就是离线命令词支持通配符吗?

希望有大牛们可以解答一下,谢谢

0 人关注了该问题 关注

0

dgwu3@iflytek.com • 1月前

离线命令词识别是在AIUI初始化的时候进行加载的
如果你想在代码层面实现多个语法文件切换,那么需要将AIUI对面销毁进行重新初始化才行
离线命令词 无法实现通配,具体离线语法文件编写规则可以看这里

2 个讨论

  • chenzl@smaradio.com • 发表于 2019年10月11日 22:54

    那请问只支持初始化一个bnf文件吗,多个离线命令都写在一个bnf文件里面?

  • dgwu3@iflytek.com • 发表于 2019年10月17日 15:49

    是的,离线语法文件每次仅支持加载一个

您需要登录后才可回复
您需要登录后才可以回复