mrcp服务器能正常生成录音,日志也正常,就是TTS听不到任何声音
FS对接mrcp听不到TTS声音,这个问题困扰了我好几天了……
解决思路
既然mrcp服务器一切正常,在客户端抓包也正常,辣么估计是FS服务端配置出现问题了。
- 检查
conf\mrcp_profiles
下配置文件如下:
<include>
<!-- UniMRCP Server MRCPv2 -->
<!-- 后面我们使用该配置文件,均使用 name 作为唯一标识,而不是文件名 -->
<profile name="unimrcpserver-mrcp2" version="2">
<param name="client-ip" value="10.20.13.252"/>
<param name="client-port" value="5069"/>
<param name="server-ip" value="10.20.13.247"/>
<param name="server-port" value="5060"/>
<param name="sip-transport" value="udp"/>
<param name="rtp-ip" value="10.20.13.252"/>
<param name="rtp-port-min" value="4000"/>
<param name="rtp-port-max" value="5000"/>
<param name="codecs" value="PCMU PCMA L16/96/8000"/>
<param name="resource-location" value=""/>
<param name="rtp-ext-ip" value="auto"/>
<param name="speechsynth" value="speechsynthesizer"/>
<param name="speechrecog" value="speechrecognizer"/>
<synthparams>
</synthparams>
<recogparams>
</recogparams>
</profile>
</include>
发现<param name="rtp-ext-ip" value="auto"/>
傻傻的多配了一个rtp-ext-ip为auto。把auto改为相应的IP或者直接删除就可以了,我这里是直接删除掉。正常的配置应该如下:
<include>
<!-- UniMRCP Server MRCPv2 -->
<!-- 后面我们使用该配置文件,均使用 name 作为唯一标识,而不是文件名 -->
<profile name="unimrcpserver-mrcp2" version="2">
<param name="client-ip" value="10.20.13.252"/>
<param name="client-port" value="5069"/>
<param name="server-ip" value="10.20.13.247"/>
<param name="server-port" value="5060"/>
<param name="sip-transport" value="udp"/>
<param name="rtp-ip" value="10.20.13.252"/>
<param name="rtp-port-min" value="4000"/>
<param name="rtp-port-max" value="5000"/>
<param name="codecs" value="PCMU PCMA L16/96/8000"/>
<param name="resource-location" value=""/>
<!--<param name="rtp-ext-ip" value="auto"/>-->
<param name="speechsynth" value="speechsynthesizer"/>
<param name="speechrecog" value="speechrecognizer"/>
<synthparams>
</synthparams>
<recogparams>
</recogparams>
</profile>
</include>