希望你做得很好。我们一直在 Ubuntu(16.04.2 LTS)上使用带有星号 13 的 Voximal(最新)。
我正在尝试调用我的 java web 服务,它返回 PCM 8000 流,我们正在使用 Amazon polly 生成这个流,然后我想通过电话严格使用 vxml 向用户播放相同的流。
首先我想知道是否可以使用 VXML2.1 或 CCXML 播放 PCM 流,我搜索了很多直到现在没有成功。
这是我的 vxml 代码,只是一个疯狂的尝试 :)
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1">
<var name="serviceVS" expr="'http://localhost:57144/polly/v1'"/>
<form>
<filled>
<data name="url" srcexpr="serviceVS" method="post" namelist="file"
enctype="multipart/form-data"/>
<assign name="urlToPlay" expr="url.url"/>
<log>
urlToPlay =>
<value expr="urlToPlay"/>
</log>
<audio expr ="urlToPlay"/>
</filled>
</form>
</vxml>
下面是我的java代码
@RequestMapping(value="/polly/v1", method = {RequestMethod.POST,RequestMethod.GET})
public ResponseEntity<InputStreamResource> pollyEndPoint(@RequestParam("voiceId") String voiceId,
@RequestParam("text")String text,@RequestParam("outputFormat") String outputFormat){
InputStream speechStream= null;
InputStreamResource inputStreamResource=null;
HttpHeaders headers=null;
try{
speechStream=quikWitService.getPollyTextToSpeech(voiceId,text,outputFormat);
inputStreamResource= new InputStreamResource(speechStream);
headers = new HttpHeaders();
headers.add("Content-Type",QuikWitUtils.getAudioFormatContentType(outputFormat));
}
catch(Exception e){
logger.error(e);
logger.debug(e.getStackTrace());
}
return new ResponseEntity<>(inputStreamResource,headers, HttpStatus.OK);
}
如果有人可以向我指出任何文章或更多信息,我将感到有义务。
谢谢