2017-02-26 76 views
0

我想为失聪人士编写一个网络应用程序,让他们键入作为打电话的方式。目标是让聋人能够在网页中输入电话号码,发起电话,实时将接收端的语音转录为文本,并将响应端的文本实时转换为语音。是否可以在浏览器中访问实时音频流?

我打算使用Twilio进行通话,捕捉音频流,使用语音识别API来转录语音,并使用Twilio的文本转语音功能来转换文本。

我知道Twilio没有执行实时转录的功能,我似乎无法找到通过twilio.connection对象访问音频流的方法。因此,我正在考虑使用媒体捕获API捕获该语音。那可能吗?

+0

这是一个有点广泛用于在计算器上的一个问题访问。借助媒体捕获API,您可以访问用户[媒体流]中的曲目(https://w3c.github.io/mediacapture-main/getusermedia.html#mediastreamtrack),使用WebRTC,您可以获得关于您在连接中收到的传入媒体流。 – philnash

+0

@philnash我只是将问题扩展到更多细节。我现在正在阅读WebRTC规范。我似乎应该能够通过MediaStreamTrack对象访问音频流?请让我知道我是否应该提供更多细节。 – Angelo

+0

你可能想看看[这个例子](https://github.com/szimek/webrtc-translate)。它不使用Twilio,但它确实使用WebRTC和语音识别来进行(几乎)实时语言翻译。 – philnash

回答

0

是的,这是可能的。但可能会有一些浏览器依赖。 Simple示例可以在这里找到。代码会是这样的。

var constraints = { 
     video: true, 
     audio: true, 
    }; 

    if(navigator.mediaDevices.getUserMedia) { 
     navigator.mediaDevices.getUserMedia(constraints).then(getUserMediaSuccess).catch(errorHandler); 
    } else { 
     alert('Your browser does not support getUserMedia API'); 
    } 
0

它是通过Twilio设备API

Twilio.Device.activeConnection().mediaStream

相关问题