В нашем угловом приложении есть реализация webrtc (аудио / видео).Работает / работал нормально почти 2 года.Ниже приведены версии библиотеки, которые мы используем в настоящее время.
Проблема: Теперь нам нужно дать RTCOfferOptions
при создании предложения.Когда мы даем опцию, пока createOffer
она выдает ошибку и останавливает компиляцию.Подробности приведены ниже.
С :
connection.createOffer()
.then((offer) => /* implemntation for offer */)
.catch((error) => /* implemntation for error */);
К :
protected offerOption: RTCOfferOptions = <RTCOfferOptions>{offerToReceiveAudio: 1, offerToReceiveVideo: 0};
connection.createOffer(offerOption)
.then((offer) => /* implemntation for offer */)
.catch((error) => /* implemntation for error */);
Ошибка углового компиляции
Argument of type 'RTCOfferOptions' is not assignable to parameter of type 'RTCSessionDescriptionCallback'.
Type 'RTCOfferOptions' provides no match for the signature '(sdp: RTCSessionDescription): void'
В определении типа webrtc
есть перегрузка метода.Но почему angular взял bad one
, когда добавляет offerOption
?
interface RTCPeerConnection extends EventTarget {
...
createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescriptionInit>; // good one
...
// Extension: https://www.w3.org/TR/webrtc/#legacy-interface-extensions
// Deprecated!
createOffer(successCallback: RTCSessionDescriptionCallback, // bad one
failureCallback: RTCPeerConnectionErrorCallback,
options?: RTCOfferOptions): Promise<void>;
...
}
Может быть, это очень специфично для наших угловых конфигов (может предоставить больше, если это необходимо), попробуйте поискать и проверить, кто получилПодобная проблема не была такой успешной.