我正在使用Twilio客户端Javascript SDK,并希望将传入 call 连接到MediaStream。

目前,我的Twilio客户仅接受这样的来电:

Twilio.Device.incoming(function (conn) {
  conn.accept();
});


下面的代码段显示了如何从浏览器获取麦克风并将其用作媒体流:

navigator.getUserMedia({
    audio: true
  }, (stream) => {
    this._log('Microphone connected.');
    return this.connectMediaStream(stream).then(resolve);
  }, (error) => {
  });

connectMediaStream(stream) {
  return new Promise((resolve, reject) => {
    const isMediaStream = Object.prototype.toString.call(stream) === '[object MediaStream]';

  if (!isMediaStream) {
    const error = new TypeError('Argument must be a `MediaStream` object.')


现在,我不想使用麦克风,而是要使用来电连接。我该如何实现?

最佳答案

我无法编辑第一个答案,因此我将在此处添加:

在1.3中,您可以访问:

本地流的

  • connection.mediaStream.stream
  • 远程流的
  • connection.mediaStream._remoteStream
    从1.4.14(我写的是最新版本)开始,现在有更方便(并有文档证明)的getter方法:
  • connection.getLocalStream()
  • connection.getRemoteStream()

  • 请注意,您在这些流上执行的任何修改它们的操作都将与该调用进行交互(可能会产生负面影响),除非您确定自己知道自己在做什么,否则应避免这样做。 :)

    关于javascript - 我可以将Twilio设备与Java中的MediaStream连接吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42774037/

    10-11 05:08