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>
42 lines • 5.88 kB
JavaScript
import { __awaiter } from "tslib";
import AgoraRTC from "agora-rtc-sdk-ng";
import { AudioTrack } from "./audio-track";
export class JoinAudioChannel {
constructor(client, config, channelName, token, uid) {
this.client = client;
this.config = config;
this.channelName = channelName;
this.token = token;
this.uid = uid;
}
WithMediaStream(audioMediaStream) {
this.localAudioTrack = AgoraRTC.createCustomAudioTrack({ mediaStreamTrack: audioMediaStream });
return this;
}
WithMicrophone(microphoneId) {
this.requestInWait = AgoraRTC.createMicrophoneAudioTrack({ microphoneId: microphoneId });
return this;
}
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.localAudioTrack) {
localTrack = this.localAudioTrack;
}
else {
localTrack = yield AgoraRTC.createMicrophoneAudioTrack();
}
yield this.client.publish([localTrack]);
let audioTrack = new AudioTrack(localTrack);
return new Promise((resolve, reject) => {
resolve(audioTrack);
reject();
});
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9pbi1hdWRpby1jaGFubmVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1hZ29yYS1zZGstbmcvc3JjLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2pvaW4tYXVkaW8tY2hhbm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxRQUF5RixNQUFNLGtCQUFrQixDQUFDO0FBR3pILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUt6QixZQUNXLE1BQXVCLEVBQ3ZCLE1BQW1CLEVBQ25CLFdBQW1CLEVBQ25CLEtBQWEsRUFDYixHQUFZO1FBSlosV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBYTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBUztJQUNuQixDQUFDO0lBRUUsZUFBZSxDQUFDLGdCQUFrQztRQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUMvRixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLFlBQW9CO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixDQUFDLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekYsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVZLEtBQUs7O1lBRWQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWxGLElBQUksVUFBZSxDQUFDO1lBRXBCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFBRSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDO2FBQUU7aUJBQzdELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFBRSxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUFFO2lCQUNoRTtnQkFBRSxVQUFVLEdBQUcsTUFBTSxRQUFRLENBQUMsMEJBQTBCLEVBQUUsQ0FBQzthQUFFO1lBRWxFLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBRXhDLElBQUksVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxPQUFPLENBQWMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ2hELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDcEIsTUFBTSxFQUFFLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQztRQUVQLENBQUM7S0FBQTtDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFnb3JhUlRDLCB7IElBZ29yYVJUQ0NsaWVudCwgSUNhbWVyYVZpZGVvVHJhY2ssIElMb2NhbEF1ZGlvVHJhY2ssIElNaWNyb3Bob25lQXVkaW9UcmFjayB9IGZyb20gXCJhZ29yYS1ydGMtc2RrLW5nXCI7XG5pbXBvcnQgeyBBZ29yYUNvbmZpZyB9IGZyb20gXCIuLi9hZ29yYS1jb25maWdcIjtcbmltcG9ydCB7IElKb2luQ2hhbm5lbCwgSUpvaW5DaGFubmVsQXBwbHksIElBdWRpb1RyYWNrLCBJQXVkaW9Kb2luQ2hhbm5lbCB9IGZyb20gXCIuLi9jb3JlL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEF1ZGlvVHJhY2sgfSBmcm9tIFwiLi9hdWRpby10cmFja1wiO1xuXG5leHBvcnQgY2xhc3MgSm9pbkF1ZGlvQ2hhbm5lbCBpbXBsZW1lbnRzIElBdWRpb0pvaW5DaGFubmVsPElBdWRpb1RyYWNrPntcblxuICAgIHByaXZhdGUgbG9jYWxBdWRpb1RyYWNrICE6IElMb2NhbEF1ZGlvVHJhY2s7XG4gICAgcHJpdmF0ZSByZXF1ZXN0SW5XYWl0ITogUHJvbWlzZTxJTWljcm9waG9uZUF1ZGlvVHJhY2s+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjbGllbnQ6IElBZ29yYVJUQ0NsaWVudCxcbiAgICAgICAgcHVibGljIGNvbmZpZzogQWdvcmFDb25maWcsXG4gICAgICAgIHB1YmxpYyBjaGFubmVsTmFtZTogc3RyaW5nLFxuICAgICAgICBwdWJsaWMgdG9rZW46IHN0cmluZyxcbiAgICAgICAgcHVibGljIHVpZD86IHN0cmluZ1xuICAgICkgeyB9XG5cbiAgICBwdWJsaWMgV2l0aE1lZGlhU3RyZWFtKGF1ZGlvTWVkaWFTdHJlYW06IE1lZGlhU3RyZWFtVHJhY2spOiBJSm9pbkNoYW5uZWxBcHBseTxJQXVkaW9UcmFjaz4ge1xuICAgICAgICB0aGlzLmxvY2FsQXVkaW9UcmFjayA9IEFnb3JhUlRDLmNyZWF0ZUN1c3RvbUF1ZGlvVHJhY2soeyBtZWRpYVN0cmVhbVRyYWNrOiBhdWRpb01lZGlhU3RyZWFtIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgV2l0aE1pY3JvcGhvbmUobWljcm9waG9uZUlkOiBzdHJpbmcpOiBJSm9pbkNoYW5uZWxBcHBseTxJQXVkaW9UcmFjaz4ge1xuICAgICAgICB0aGlzLnJlcXVlc3RJbldhaXQgPSBBZ29yYVJUQy5jcmVhdGVNaWNyb3Bob25lQXVkaW9UcmFjayh7IG1pY3JvcGhvbmVJZDogbWljcm9waG9uZUlkIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgQXBwbHkoKTogUHJvbWlzZTxJQXVkaW9UcmFjaz4ge1xuXG4gICAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmpvaW4odGhpcy5jb25maWcuQXBwSUQsIHRoaXMuY2hhbm5lbE5hbWUsIHRoaXMudG9rZW4sIHRoaXMudWlkKTtcblxuICAgICAgICBsZXQgbG9jYWxUcmFjazogYW55O1xuXG4gICAgICAgIGlmICh0aGlzLnJlcXVlc3RJbldhaXQpIHsgbG9jYWxUcmFjayA9IGF3YWl0IHRoaXMucmVxdWVzdEluV2FpdDsgfVxuICAgICAgICBlbHNlIGlmICh0aGlzLmxvY2FsQXVkaW9UcmFjaykgeyBsb2NhbFRyYWNrID0gdGhpcy5sb2NhbEF1ZGlvVHJhY2s7IH1cbiAgICAgICAgZWxzZSB7IGxvY2FsVHJhY2sgPSBhd2FpdCBBZ29yYVJUQy5jcmVhdGVNaWNyb3Bob25lQXVkaW9UcmFjaygpOyB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQucHVibGlzaChbbG9jYWxUcmFja10pO1xuXG4gICAgICAgIGxldCBhdWRpb1RyYWNrID0gbmV3IEF1ZGlvVHJhY2sobG9jYWxUcmFjayk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPElBdWRpb1RyYWNrPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKGF1ZGlvVHJhY2spO1xuICAgICAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG59XG4iXX0=