簡體   English   中英

接聽電話時 webRTC 損失 stream

[英]webRTC losses stream when a phone call is answered

在兩個用戶在視頻通話中連接的場景中,其中一個用戶接到電話,他接聽了電話。 這會阻止正在進行的 webRTC stream 和呼叫 session 結束。

那么有沒有一種方法可以同時保持蒸汽和呼叫 session 並在該人返回我們的應用程序后恢復視頻呼叫。

我正在使用 QuickBlox js-Sdk 撥打電話。

下面是附加的用於啟動呼叫的代碼片段。

var userCredentials = {
      userId: 'XXXXXX',
      password: "XXXXXXX"
    };

    QB.chat.connect(userCredentials, function (error, contactList) {

      var calleesIds = [XXXXX];
      var sessionType = QB.webrtc.CallType.VIDEO;
      var session = QB.webrtc.createNewSession(calleesIds, sessionType);

      this.userAuthService.markBusy(XXXXX).subscribe(data => data);
      var mediaParams = {
        audio: true,
        video: true,
        options: {
          muted: true,
          mirror: true
        },
        elemId: "selfStream"
      };

      session.getUserMedia(mediaParams, function (err, stream) {
        if (err) {
          console.log('getUserMedia err', err);
        } else {
          console.log('getUserMedia succ', stream);

          // make call
          var extension = {};
          session.call(extension, function (error) {
            console.log('call error: ', error);
          });
        }
      });

    });

並在另一端接聽電話。

QB.webrtc.onCallListener = function (session, extension) {
          session.getUserMedia(self.getMediaParams('selfStream'), function (err, stream) {
      if (err) {
        console.log('getUserMedia err', err);
      } else {
        self.callSession.accept(self.callExt);
      }
     });
    };

我在其他一些 webApps 中也看到了同樣的問題,是否有針對此問題的修復/解決方法,在此先感謝。

通過在遠程用戶的 stream 上添加事件來解決此問題。 If the stream is null it'll start checking for the stream every second for 2 mins if stream is not restored back in 2 mins the call will be disconnected. 否則我將使用恢復的 stream 並刪除timeInterval以每秒檢查一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM