microsoft-cognitiveservices-speech-sdk
Version:
Microsoft Cognitive Services Speech SDK for JavaScript
241 lines (240 loc) • 8.53 kB
TypeScript
import { ConversationRecognizer, IInternalConversation, TranscriberRecognizer } from "../../common.speech/Exports.js";
import { IDisposable } from "../../common/Exports.js";
import { Participant, PropertyCollection, SpeechTranslationConfig } from "../Exports.js";
import { Callback, MeetingInfo, IMeeting } from "./IMeeting.js";
import { IParticipant, IUser } from "./IParticipant.js";
export declare abstract class Meeting implements IMeeting {
protected constructor();
abstract get authorizationToken(): string;
abstract get config(): SpeechTranslationConfig;
abstract get meetingId(): string;
abstract get meetingInfo(): MeetingInfo;
abstract get properties(): PropertyCollection;
abstract get speechRecognitionLanguage(): string;
abstract get participants(): Participant[];
abstract set authorizationToken(value: string);
abstract get isConnected(): boolean;
/**
* Create a meeting
* @param speechConfig
* @param meetingId
* @param cb
* @param err
*/
static createMeetingAsync(speechConfig: SpeechTranslationConfig, meetingId: string, arg3?: Callback, arg4?: Callback): Meeting;
/** Start a meeting. */
abstract startMeetingAsync(cb?: Callback, err?: Callback): void;
/** Delete a meeting. After this no one will be able to join the meeting. */
abstract deleteMeetingAsync(cb?: Callback, err?: Callback): void;
/** End a meeting. */
abstract endMeetingAsync(cb?: Callback, err?: Callback): void;
/** Lock a meeting. This will prevent new participants from joining. */
abstract lockMeetingAsync(cb?: Callback, err?: Callback): void;
/** Add Participant to Meeting. */
abstract addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void;
/**
* Mute all other participants in the Meeting. After this no other participants will
* have their speech recognitions broadcast, nor be able to send text messages.
*/
abstract muteAllParticipantsAsync(cb?: Callback, err?: Callback): void;
/**
* Mute a participant.
* @param userId A user identifier
*/
abstract muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;
/**
* Remove a participant from a meeting using the user id, Participant or User object
* @param userId A user identifier
*/
abstract removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void;
/** Unlocks a meeting. */
abstract unlockMeetingAsync(cb?: Callback, err?: Callback): void;
/** Unmute all other participants in the meeting. */
abstract unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void;
/**
* Unmute a participant.
* @param userId A user identifier
*/
abstract unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;
}
export declare class MeetingImpl extends Meeting implements IDisposable {
private privConfig;
private privProperties;
private privLanguage;
private privToken;
private privIsDisposed;
private privRoom;
private privManager;
private privConversationRecognizer;
private privIsConnected;
private privParticipants;
private privIsReady;
private privConversationTranslator;
private privTranscriberRecognizer;
private privErrors;
private privConversationId;
private readonly privTextMessageMaxLength;
/**
* Create a Meeting impl
* @param speechConfig
* @param {string} id - optional conversationId
*/
constructor(speechConfig: SpeechTranslationConfig, id: string);
get room(): IInternalConversation;
get connection(): ConversationRecognizer;
get config(): SpeechTranslationConfig;
get meetingId(): string;
get properties(): PropertyCollection;
get speechRecognitionLanguage(): string;
get isMutedByHost(): boolean;
get isConnected(): boolean;
get participants(): Participant[];
get me(): Participant;
get host(): Participant;
get transcriberRecognizer(): TranscriberRecognizer;
get meetingInfo(): MeetingInfo;
private get canSend();
private get canSendAsHost();
get authorizationToken(): string;
set authorizationToken(value: string);
/**
* Create a new meeting as Host
* @param cb
* @param err
*/
createMeetingAsync(cb?: Callback, err?: Callback): void;
/**
* Starts a new meeting as host.
* @param cb
* @param err
*/
startMeetingAsync(cb?: Callback, err?: Callback): void;
/**
* Join a meeting as a participant.
* @param { IParticipant } participant - participant to add
* @param cb
* @param err
*/
addParticipantAsync(participant: IParticipant, cb?: Callback, err?: Callback): void;
/**
* Join a meeting as a participant.
* @param meeting
* @param nickname
* @param lang
* @param cb
* @param err
*/
joinMeetingAsync(meetingId: string, nickname: string, lang: string, cb?: Callback, err?: Callback): void;
/**
* Deletes a meeting
* @param cb
* @param err
*/
deleteMeetingAsync(cb?: Callback, err?: Callback): void;
deleteMeetingImplAsync(): Promise<void>;
/**
* Issues a request to close the client websockets
* @param cb
* @param err
*/
endMeetingAsync(cb?: Callback, err?: Callback): void;
endMeetingImplAsync(): Promise<void>;
/**
* Issues a request to lock the conversation
* @param cb
* @param err
*/
lockMeetingAsync(cb?: Callback, err?: Callback): void;
/**
* Issues a request to mute the meeting
* @param cb
* @param err
*/
muteAllParticipantsAsync(cb?: Callback, err?: Callback): void;
/**
* Issues a request to mute a participant in the meeting
* @param userId
* @param cb
* @param err
*/
muteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;
/**
* Issues a request to remove a participant from the conversation
* @param userId
* @param cb
* @param err
*/
removeParticipantAsync(userId: string | IParticipant | IUser, cb?: Callback, err?: Callback): void;
/**
* Issues a request to unlock the meeting
* @param cb
* @param err
*/
unlockMeetingAsync(cb?: Callback, err?: Callback): void;
/**
* Issues a request to unmute all participants in the meeting
* @param cb
* @param err
*/
unmuteAllParticipantsAsync(cb?: Callback, err?: Callback): void;
/**
* Issues a request to unmute a participant in the meeting
* @param userId
* @param cb
* @param err
*/
unmuteParticipantAsync(userId: string, cb?: Callback, err?: Callback): void;
/**
* Send a text message
* @param message
* @param cb
* @param err
*/
sendTextMessageAsync(message: string, cb?: Callback, err?: Callback): void;
/**
* Set translated to languages
* @param {string[]} languages - languages to translate to
* @param cb
* @param err
*/
setTranslatedLanguagesAsync(languages: string[], cb?: Callback, err?: Callback): void;
/**
* Change nickname
* @param {string} nickname - new nickname for the room
* @param cb
* @param err
*/
changeNicknameAsync(nickname: string, cb?: Callback, err?: Callback): void;
isDisposed(): boolean;
dispose(): void;
connectTranscriberRecognizer(recognizer: TranscriberRecognizer): Promise<void>;
getKeepAlive(): string;
/** websocket callbacks */
private onConnected;
private onDisconnected;
private onCanceled;
private onParticipantUpdateCommandReceived;
private onLockRoomCommandReceived;
private onMuteAllCommandReceived;
private onParticipantJoinCommandReceived;
private onParticipantLeaveCommandReceived;
private onTranslationReceived;
private onParticipantsListReceived;
private onConversationExpiration;
private addParticipantImplAsync;
private removeParticipantImplAsync;
private close;
/** Helpers */
private handleCallback;
private handleError;
/** Participant Helpers */
private toParticipants;
private toParticipant;
private getMuteAllCommand;
private getMuteCommand;
private getLockCommand;
private getEjectCommand;
private getSetTranslateToLanguagesCommand;
private getChangeNicknameCommand;
private getMessageCommand;
}