【问题标题】:Is it possible to access a live audio stream in the browser?是否可以在浏览器中访问实时音频流?
【发布时间】:2017-02-26 21:57:54
【问题描述】:

我想为聋哑人编写一个网络应用程序,允许他们在电话中通过打字来交谈。目标是让聋人在网页中输入电话号码,拨打电话,将接收端的语音实时转录为文本,并将应答端的文本实时转换为语音。

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

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

【问题讨论】:

  • 这对于 StackOverflow 上的问题来说有点宽泛。使用媒体捕获 API,您可以访问用户 media stream 中的曲目,而使用 WebRTC,您可以在连接中收到的传入媒体流中获取这些曲目。
  • @philnash 我只是将问题扩展到更多细节。我现在正在阅读 WebRTC 规范。似乎我应该能够通过 MediaStreamTrack 对象访问音频流?如果我应该提供更多详细信息,请告诉我。
  • 您可能想看看this example。它不使用 Twilio,但确实使用 WebRTC 和语音识别来进行(几乎)实时语言翻译。

标签: webrtc twilio


【解决方案1】:

是的,这是可能的。但可能存在一些浏览器依赖性。 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');
    }

【讨论】:

    【解决方案2】:

    可通过 Twilio Device api 访问

    Twilio.Device.activeConnection().mediaStream

    【讨论】:

      猜你喜欢
      • 2015-07-22
      • 2016-09-15
      • 2018-08-25
      • 1970-01-01
      • 2014-05-29
      • 2012-11-20
      • 2017-03-14
      • 1970-01-01
      • 2014-12-03
      相关资源
      最近更新 更多