Имаме внедряване на webrtc (аудио/видео) в нашето приложение angular. Работи/работи добре почти 2 години. По-долу са версиите на библиотеката, които използваме в момента.
- Angular версия => 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