ngx-agora-sdk-ng
Version:
<div style="display:flex"> <img src="docs/images/angular-logo.svg" width="50px" height="50px" alt="Angular"/> <img src="docs/images/agora-logo.png" width="50px" height="50px" alt="Agora"/> </div>
50 lines • 7.85 kB
JavaScript
import { __awaiter } from "tslib";
import { EventEmitter } from "@angular/core";
import AgoraRTC from "agora-rtc-sdk-ng";
import { MediaTrack } from "./media-track";
export class JoinChannel {
constructor(client, config, channelName, token, uid) {
this.client = client;
this.config = config;
this.channelName = channelName;
this.token = token;
this.uid = uid;
this.tracks = new Array();
this._onLocalUserJoinedEvent = new EventEmitter();
}
Apply() {
return __awaiter(this, void 0, void 0, function* () {
yield this.client.join(this.config.AppID, this.channelName, this.token, this.uid);
let localTrack;
if (this.requestInWait) {
localTrack = yield this.requestInWait;
}
else if (this.tracks.length > 0) {
localTrack = this.tracks;
}
else {
localTrack = yield AgoraRTC.createMicrophoneAndCameraTracks();
}
yield this.client.publish(localTrack);
let mediaTrack = new MediaTrack(localTrack);
this._onLocalUserJoinedEvent.emit({ track: mediaTrack });
return new Promise((resolve, reject) => {
resolve(mediaTrack);
reject();
});
});
}
WithMediaStream(videoMediaStream, audioMediaStream) {
this.tracks.push(AgoraRTC.createCustomAudioTrack({ mediaStreamTrack: audioMediaStream }));
this.tracks.push(AgoraRTC.createCustomVideoTrack({ mediaStreamTrack: videoMediaStream }));
return this;
}
WithCameraAndMicrophone(microphoneId, cameraId) {
this.requestInWait = AgoraRTC.createMicrophoneAndCameraTracks({ microphoneId: microphoneId }, { cameraId: cameraId });
return this;
}
registerUserJoinedEvent(event) {
this._onLocalUserJoinedEvent = event;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi1jaGFubmVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hZ29yYS1zZGstbmcvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2pvaW4tY2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLFFBQTJHLE1BQU0sa0JBQWtCLENBQUM7QUFJM0ksT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLE9BQU8sV0FBVztJQU1wQixZQUNXLE1BQXVCLEVBQ3ZCLE1BQW1CLEVBQ25CLFdBQW1CLEVBQ25CLEtBQWEsRUFDYixHQUFZO1FBSlosV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBUztRQVBmLFdBQU0sR0FBZSxJQUFJLEtBQUssRUFBTyxDQUFDO1FBNER0Qyw0QkFBdUIsR0FBeUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQW5EdkYsQ0FBQztJQUVRLEtBQUs7O1lBSWQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWxGLElBQUksVUFBZSxDQUFDO1lBRXBCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFBRSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQUU7aUJBQzdELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUFFLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQUU7aUJBQ3pEO2dCQUFFLFVBQVUsR0FBRyxNQUFNLFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxDQUFDO2FBQUU7WUFFdkUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0QyxJQUFJLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUU1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFFekQsT0FBTyxJQUFJLE9BQU8sQ0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDaEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNwQixNQUFNLEVBQUUsQ0FBQztZQUNiLENBQUMsQ0FBQyxDQUFDO1FBRVAsQ0FBQztLQUFBO0lBR00sZUFBZSxDQUFDLGdCQUFrQyxFQUFFLGdCQUFrQztRQUN6RixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBR00sdUJBQXVCLENBQUMsWUFBb0IsRUFBRSxRQUFnQjtRQUVqRSxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQywrQkFBK0IsQ0FDekQsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEVBQzlCLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUN6QixDQUFDO1FBR0YsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUdNLHVCQUF1QixDQUFDLEtBQTJDO1FBQ3RFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztDQUlKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBBZ29yYVJUQywgeyBJQWdvcmFSVENDbGllbnQsIElDYW1lcmFWaWRlb1RyYWNrLCBJTG9jYWxBdWRpb1RyYWNrLCBJTG9jYWxWaWRlb1RyYWNrLCBJTWljcm9waG9uZUF1ZGlvVHJhY2sgfSBmcm9tIFwiYWdvcmEtcnRjLXNkay1uZ1wiO1xuaW1wb3J0IHsgQWdvcmFDb25maWcgfSBmcm9tIFwiLi4vYWdvcmEtY29uZmlnXCI7XG5pbXBvcnQgeyBJSm9pbkNoYW5uZWwsIElKb2luQ2hhbm5lbEFwcGx5LCBJTWVkaWFUcmFjayB9IGZyb20gXCIuLi9jb3JlL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IElSZW1vdGVVc2VyIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBNZWRpYVRyYWNrIH0gZnJvbSBcIi4vbWVkaWEtdHJhY2tcIjtcblxuZXhwb3J0IGNsYXNzIEpvaW5DaGFubmVsIGltcGxlbWVudHMgSUpvaW5DaGFubmVsPElNZWRpYVRyYWNrPiB7XG5cbiAgICBwcml2YXRlIGxvY2FsVmlkZW9UcmFjayE6IElMb2NhbFZpZGVvVHJhY2s7XG4gICAgcHJpdmF0ZSByZXF1ZXN0SW5XYWl0ITogUHJvbWlzZTxbSU1pY3JvcGhvbmVBdWRpb1RyYWNrLCBJQ2FtZXJhVmlkZW9UcmFja10+O1xuICAgIHByaXZhdGUgdHJhY2tzOiBBcnJheTxhbnk+ID0gbmV3IEFycmF5PGFueT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2xpZW50OiBJQWdvcmFSVENDbGllbnQsXG4gICAgICAgIHB1YmxpYyBjb25maWc6IEFnb3JhQ29uZmlnLFxuICAgICAgICBwdWJsaWMgY2hhbm5lbE5hbWU6IHN0cmluZyxcbiAgICAgICAgcHVibGljIHRva2VuOiBzdHJpbmcsXG4gICAgICAgIHB1YmxpYyB1aWQ/OiBzdHJpbmcsXG5cbiAgICApIHsgfVxuXG4gICAgcHVibGljIGFzeW5jIEFwcGx5KCk6IFByb21pc2U8SU1lZGlhVHJhY2s+IHtcblxuICAgICAgICBcblxuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudC5qb2luKHRoaXMuY29uZmlnLkFwcElELCB0aGlzLmNoYW5uZWxOYW1lLCB0aGlzLnRva2VuLCB0aGlzLnVpZCk7XG5cbiAgICAgICAgbGV0IGxvY2FsVHJhY2s6IGFueTtcblxuICAgICAgICBpZiAodGhpcy5yZXF1ZXN0SW5XYWl0KSB7IGxvY2FsVHJhY2sgPSBhd2FpdCB0aGlzLnJlcXVlc3RJbldhaXQ7IH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy50cmFja3MubGVuZ3RoID4gMCkgeyBsb2NhbFRyYWNrID0gdGhpcy50cmFja3M7IH1cbiAgICAgICAgZWxzZSB7IGxvY2FsVHJhY2sgPSBhd2FpdCBBZ29yYVJUQy5jcmVhdGVNaWNyb3Bob25lQW5kQ2FtZXJhVHJhY2tzKCk7IH1cblxuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudC5wdWJsaXNoKGxvY2FsVHJhY2spO1xuXG4gICAgICAgIGxldCBtZWRpYVRyYWNrID0gbmV3IE1lZGlhVHJhY2sobG9jYWxUcmFjayk7XG5cbiAgICAgICAgdGhpcy5fb25Mb2NhbFVzZXJKb2luZWRFdmVudC5lbWl0KHsgdHJhY2s6IG1lZGlhVHJhY2sgfSk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPElNZWRpYVRyYWNrPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKG1lZGlhVHJhY2spO1xuICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG5cbiAgICBwdWJsaWMgV2l0aE1lZGlhU3RyZWFtKHZpZGVvTWVkaWFTdHJlYW06IE1lZGlhU3RyZWFtVHJhY2ssIGF1ZGlvTWVkaWFTdHJlYW06IE1lZGlhU3RyZWFtVHJhY2spOiBJSm9pbkNoYW5uZWxBcHBseTxJTWVkaWFUcmFjaz4ge1xuICAgICAgICB0aGlzLnRyYWNrcy5wdXNoKEFnb3JhUlRDLmNyZWF0ZUN1c3RvbUF1ZGlvVHJhY2soeyBtZWRpYVN0cmVhbVRyYWNrOiBhdWRpb01lZGlhU3RyZWFtIH0pKTtcbiAgICAgICAgdGhpcy50cmFja3MucHVzaChBZ29yYVJUQy5jcmVhdGVDdXN0b21WaWRlb1RyYWNrKHsgbWVkaWFTdHJlYW1UcmFjazogdmlkZW9NZWRpYVN0cmVhbSB9KSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuXG4gICAgcHVibGljIFdpdGhDYW1lcmFBbmRNaWNyb3Bob25lKG1pY3JvcGhvbmVJZDogc3RyaW5nLCBjYW1lcmFJZDogc3RyaW5nKTogSUpvaW5DaGFubmVsQXBwbHk8SU1lZGlhVHJhY2s+IHtcblxuICAgICAgICB0aGlzLnJlcXVlc3RJbldhaXQgPSBBZ29yYVJUQy5jcmVhdGVNaWNyb3Bob25lQW5kQ2FtZXJhVHJhY2tzKFxuICAgICAgICAgICAgeyBtaWNyb3Bob25lSWQ6IG1pY3JvcGhvbmVJZCB9LFxuICAgICAgICAgICAgeyBjYW1lcmFJZDogY2FtZXJhSWQgfVxuICAgICAgICApO1xuXG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJVc2VySm9pbmVkRXZlbnQoZXZlbnQ6IEV2ZW50RW1pdHRlcjx7IHRyYWNrOiBJTWVkaWFUcmFjayB9Pikge1xuICAgICAgICB0aGlzLl9vbkxvY2FsVXNlckpvaW5lZEV2ZW50ID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfb25Mb2NhbFVzZXJKb2luZWRFdmVudDogRXZlbnRFbWl0dGVyPHsgdHJhY2s6IElNZWRpYVRyYWNrIH0+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG59XG4iXX0=