我们有一个 javascript twilio 网页,可以调用经典电话号码或尝试使用 twilio 向移动应用拨打 VOIP 电话。
当拨打标准电话时,网站用户可以听到预期的铃声。但是,当呼叫被路由到 VOIP 用户时,twilio 只是静默,而被呼叫的移动应用程序处于振铃状态。这吓坏了那些认为网站失败的用户,而实际上只是在等待移动应用用户的回答。
虽然有许多不同的实现方式,但在等待 voip 用户接听时播放铃声的最简单的 twilio 实现是什么?
注意:从移动应用程序用户端开始,一切正常,对他们来说,电话正在响铃,而来电者没有听到响铃声音。我希望移动用户摘机时铃声停止,我不想挂断电话播放铃声。
如何在拨打 voip 用户时复制拨打普通电话号码的振铃效果?
答案 0 :(得分:0)
显然,与经典的非 voip 通话不同,Voip call 不会自行出现以发出正常的铃声。所以必须提供自己的铃声 UI 效果或声音。
我在从正确配置的 ringing event 生成的 Twilio.Connection
object 上使用了 Twilio.Device
object。连接对象通常不会发出振铃事件。但如果在创建 enableRingingState
对象时将 true
配置参数设置为 Twilio.Device
,Twilio.Connection
对象将发出事件。
我使用该事件来开始使用不带 controls
属性和带有 loop
属性的 <Audio>
element 的响铃录音。我录制了一个普通电话的铃声来播放,所以听起来是一样的。然后当电话接通时,我关闭了铃声。此外,如果 hasEarlyMedia
设置为 true,那么我也不播放铃声,因为可能会播放早期媒体的任何内容。不过,我还没有观察到这种情况。
如果我要拨打 voip 电话而不是标准电话,我会提前检测,以免造成双振铃效应。常规(非 voip)电话会提供自己的铃声。