Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在twilio中同时播放和录制语音_Javascript_Twilio_Twilio Api_Twilio Twiml - Fatal编程技术网

Javascript 如何在twilio中同时播放和录制语音

Javascript 如何在twilio中同时播放和录制语音,javascript,twilio,twilio-api,twilio-twiml,Javascript,Twilio,Twilio Api,Twilio Twiml,我和twilio一起工作 我的情况是当用户打电话时,IVR会询问用户的情绪,然后开始录制10秒钟,将录制的内容带到服务器上,根据用户情绪查找播客,然后用播客mp3 url发回TWIML并播放给用户 我已经完成了这项工作 现在我想实现一个功能,当用户说“跳过”或“我不喜欢这个请跳过”(或类似的东西,我将用人工智能处理)时,立即停止播放,转到服务器,获取另一个播客mp3 url并播放 为此我需要这样做: <?xml version="1.0" encoding="UTF-8" ?>

我和twilio一起工作

我的情况是当用户打电话时,IVR会询问用户的情绪,然后开始录制10秒钟,将录制的内容带到服务器上,根据用户情绪查找播客,然后用播客mp3 url发回TWIML并播放给用户

我已经完成了这项工作

现在我想实现一个功能,当用户说“跳过”或“我不喜欢这个请跳过”(或类似的东西,我将用人工智能处理)时,立即停止播放,转到服务器,获取另一个播客mp3 url并播放

为此我需要这样做:

<?xml version="1.0" encoding="UTF-8" ?>  
<Response> 
    <Play>https://somechannel.com/podcast.mp3</Play>
    <record action='/voice/check-what-user-said'></record>
</Response>

每次我们在服务器上录制时,我都会将录制转换为文本广告检查用户是否说“跳过”,如果是,我会在这里动态修改call on the fly

Twilio developer evangelist

恐怕目前还不可能在播放mp3的同时录制通话片段

我可以建议您使用该功能而不是为您发声吗?然后可以使用以下TwiML(作为示例)


按任意数字跳过此播客
https://somechannel.com/podcast.mp3
然后,您需要在应用程序中的
/voice/check digits
处设置一个端点,将用户引导到下一个播客


*好的,如果您将音频播放到会议中,让另一个脚本拨入会议并录制10秒,然后在另一个脚本拨入时挂断以开始录制,这是可能的。但即使这样,你也会试图从播客的音频中提取来电者的声音,这根本不可能是准确的。尤其是当播客中有声音说“跳过”时。所以我仍然建议使用

请再解释一下,我想它会有用的,请在你的答案后面加上一些twiml。向你脱帽致敬当我对它的工作毫无信心时,我并不特别倾向于写一个可以实现这一点的应用程序。不过欢迎你自己试试。
let say, twilio start playing mp3, it also start recording

e.g:
playing 
00:00 - start recording for ten seconds
00:10 - finish recording and send it to server
00:11 - start another recording for 10 seconds
00:20 - finish recording and send it to server
<?xml version="1.0" encoding="UTF-8" ?>  
<Response> 
  <Say>Press any digit to skip this podcast</Say>
  <Gather action="/voice/check-digits" numDigits="1">
    <Play>https://somechannel.com/podcast.mp3</Play>
  </Gather>
</Response>