У нас есть реализация webrtc (аудио/видео) в нашем угловом приложении. Работает/работает нормально уже почти 2 года. Ниже приведены версии библиотек, которые мы используем в настоящее время.
- Угловая версия => 5.1.3
- (webrtc-adapter) adapter.js => 6.0.4 (попробовано с последней версией 7.2.4) => https://github.com/webrtcHacks/adapter
- (@types/webrtc) определения типов для webrtc => 0.0.22 (попробовано с последней версией 0.0.25) https://www.npmjs.com/package/@types/webrtc
Проблема в следующем: теперь нам нужно указать 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 */);
Ошибка компиляции Angular
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>;
...
}
Может быть, это очень специфично для наших угловых конфигураций (может предоставить больше, если это необходимо), попробуйте поискать и проверить, у кого-нибудь есть подобная проблема, которая не была такой успешной.
connection.createOffer<offerOption>(offerOption)
? ` - person Francisco Santorelli   schedule 25.06.2019Expected 0 type arguments, but got 1
- person Ntwobike   schedule 25.06.2019