こんにちは、
sipjs0.15.11からsjipjs0.16.1に移行しようとすると、次の問題が発生しました。 ここで何かが足りませんか?
バグを説明する
プロパティ「peerConnection」はタイプ「SessionDescriptionHandler」に存在しません
ログ
error TS2339: Property 'peerConnection' does not exist on type 'SessionDescriptionHandler'.
再現するには
動作を再現する手順:
// Assumes you have a media element on the DOM
const mediaElement = document.getElementById('mediaElement');
const remoteStream = new MediaStream();
function setupRemoteMedia(session: Session) {
session.sessionDescriptionHandler.peerConnection.getReceivers().forEach((receiver) => {
if (receiver.track) {
remoteStream.addTrack(receiver.track);
}
});
mediaElement.srcObject = remoteStream;
mediaElement.play();
}
予想される行動
プロパティ「peerConnection」はタイプ「SessionDescriptionHandler」に存在する必要があります
観察された行動
コンパイルはエラーをスローします:
プロパティ「peerConnection」はタイプ「SessionDescriptionHandler」に存在しません
環境情報
より正確には、peerConnectionはファイルplatform / web / session-description-handler /session-description-handler.tsに存在します
public peerConnection!: RTCPeerConnection;
ただし、 api /session-description-handler.tsにはありません
それが定義ファイルの一部ではない理由ですか?
同じ問題が発生し、
_'sip.js / lib / platform / web'_内のすべてがWeb
名前空間にエクスポートされるため、 import { Web } from "sip.js"
を使用して、 Web.SessionDescriptionHandler
として参照することもできます。
タイプpeerConnection
は、 SessionDescriptionHandler
インターフェイスには存在しません。 アイデアは、SIP.jsではないためピア接続がない環境用にSDHを作成できるということです。 Web実装を使用していることがわかっている場合は、 Web.SessionDescriptionHandler
からタイプをインポートして使用します。 これは意図的なものです。
誰かがこの問題を抱えている場合。 それが私にとってどのように機能したかです:
import '{ SessionDescriptionHandler } from 'sip.js/lib/platform/web'
case SessionState.Established:
let sessionDescriptionHandler: SessionDescriptionHandler = inviter.sessionDescriptionHandler as SessionDescriptionHandler;
setupRemoteMedia(sessionDescriptionHandler);
break;
function setupRemoteMedia(session: SessionDescriptionHandler) {
let receiversList: any = session.peerConnection.getReceivers();
receiversList.forEach((receiver: RTCRtpReceiver) => {
if (receiver.track) {
remoteStream.addTrack(receiver.track);
}
});
mediaElement.srcObject = remoteStream;
mediaElement.play();
}
改善と発言は喜んで受け入れられます。
最も参考になるコメント
同じ問題が発生し、