Справка по AudioOutputMixerPlugin
Псевдонимы типов
AudioMixerEvent
Ƭ AudioMixerEvent: AudioMixerEventStopAudio | AudioMixerEventStoppedAudio | AudioMixerEventStartAudio | AudioMixerEventStartedAudio | AudioMixerEventAddMediaStream | AudioMixerEventRemoveMediaStream | AudioMixerEventGainChanged
AudioMixerEventAddMediaStream
Ƭ AudioMixerEventAddMediaStream: Readonly<{ payload: { audioElement: HTMLAudioElement ; mediaStream: MediaStream } ; type: "addMediaStream" }>
AudioMixerEventGainChanged
Ƭ AudioMixerEventGainChanged: Readonly<{ payload: { value: number } ; type: "gainChanged" }>
AudioMixerEventRemoveMediaStream
Ƭ AudioMixerEventRemoveMediaStream: Readonly<{ payload: { audioElement: HTMLAudioElement ; mediaStream: MediaStream } ; type: "removeMediaStream" }>
AudioMixerEventStartAudio
Ƭ AudioMixerEventStartAudio: Readonly<{ type: "startAudio" }>
AudioMixerEventStartedAudio
Ƭ AudioMixerEventStartedAudio: Readonly<{ type: "startedAudio" }>
AudioMixerEventStopAudio
Ƭ AudioMixerEventStopAudio: Readonly<{ type: "stopAudio" }>
AudioMixerEventStoppedAudio
Ƭ AudioMixerEventStoppedAudio: Readonly<{ type: "stoppedAudio" }>
AudioOutputMixer
Ƭ AudioOutputMixer: Object
Type declaration
| Name | Type |
|---|---|
$isSuspended | Query<boolean> |
addMediaStream | (mediaStream: MediaStream) => void |
event$ | Observable<AudioMixerEvent> |
outputGain | Query<number> |
removeMediaStream | (mediaStream: MediaStream) => void |
setOutputDevice | (audioOutput: LocalAudioOutputDevice) => Promise<void> |
setOutputGain | (volume: number) => void |
startAudio | () => Promise<void> |
stopAudio | () => Promise<void> |
AudioOutputMixerManager
Ƭ AudioOutputMixerManager: Object
Type declaration
| Name | Type |
|---|---|
event$ | Observable<RoomAudioMixerEvent> |
isMutedAll | Query<boolean> |
muteAllParticipants | (isMutedAll: boolean) => void |
muteParticipants | (isMuted: boolean, participantIds: JazzRoomParticipantId[] | JazzRoomParticipantId) => void |
mutedParticipants | Query<ReadonlySet<JazzRoomParticipantId>> |
Переменные
AUDIO_GAIN_DEFAULT
• Const AUDIO_GAIN_DEFAULT: 1
MAX_AUDIO_GAIN_VALUE
• Const MAX_AUDIO_GAIN_VALUE: 10
MIN_AUDIO_GAIN_VALUE
• Const MIN_AUDIO_GAIN_VALUE: 0
Методы
audioOutputMixerPlugin
▸ audioOutputMixerPlugin(options?): JazzSdkPlugin
Позволяет локально управлять звуком участников конференций
Параметры
| Name | Type |
|---|---|
options? | Partial<{ flags?: Partial<Readonly<{ forceAudioSourcesPlayback: boolean ; interruptedRestartUserMedia: string ; loopbackAllBrowsers: boolean ; loopbackAudioSourcesFallback: boolean ; loopbackEnabled: boolean ; loopbackMaxChromiumVersion: number ; loopbackMungeCandidates: boolean ; loopbackRestartOnDisconnect: boolean ; loopbackStunServer?: string ; startAudioOnFirstInteraction: boolean }>> }> |
Возвращает
JazzSdkPlugin
getAudioOutputMixer
▸ getAudioOutputMixer(sdk): AudioOutputMixer
Пример
const { getAudioOutputMixer } from '@salutejs/jazz-sdk-web-plugins';
const audioOutputMixer = getAudioOutputMixer(sdk);
const initOutputGain = audioOutputMixer.outputGain.get();
Пример
const { getAudioOutputMixer } from '@salutejs/jazz-sdk-web-plugins';
const audioOutputMixer = getAudioOutputMixer(sdk);
audioOutputMixer.setOutputGain(5);
Пример
const { getAudioOutputMixer } from '@salutejs/jazz-sdk-web-plugins';
const audioOutputMixer = getAudioOutputMixer(sdk);
const unsubscribe = handleEvent(
audioOutputMixer.event$,
'gainChanged',
({ payload }) => {
setOutputGain(payload.value);
},
);
Параметры
| Name | Type |
|---|---|
sdk | Readonly<{ container: Container ; event$: Observable<JazzSdkEvent> } & > |
Возвращает
getAudioOutputMixerManager
▸ getAudioOutputMixerManager(room): AudioOutputMixerManager
Пример
const { getAudioOutputMixerManager } from '@salutejs/jazz-sdk-web-plugins'
const audioOutputMixerManger = getAudioOutputMixerManager(room)
audioOutputMixerManger.mutedParticipants.get().has(participantId)
Пример
const { getAudioOutputMixerManager } from '@salutejs/jazz-sdk-web-plugins'
const audioOutputMixerManger = getAudioOutputMixerManager(room)
const unsubscribe = handleEvent(
audioOutputMixerManger.event$,
'muteParticipantsChanged',
({ payload }) => {
if (payload.participantIds.some((id) => participantId === id)) {
setIsMuted(payload.isMuted);
}
},
);
Пример
const { getAudioOutputMixerManager } from '@salutejs/jazz-sdk-web-plugins'
const audioOutputMixerManger = getAudioOutputMixerManager(room)
audioOutputMixerManger.muteParticipants(!isMuted, [participantId]);
Параметры
| Name | Type |
|---|---|
room | Readonly<{ client: Readonly<{ auth: Readonly<{ authStatus: Readonly<{}> ; event$: Observable<AuthEvents> ; isAuthorised: Readonly<{}> ; loginBySdkToken: (sdkToken: string) => Promise<boolean> ; logout: () => Promise<void> ; setAuthToken: (authToken: string) => Promise<boolean> ; userInfo: Readonly<{}> }> ; conferences: Readonly<{ close: (params: { conferenceId: string ; password: string }) => Promise<void> ; createConference: (params: Readonly<{ isGuestEnabled?: boolean ; isLobbyEnabled?: boolean ; title: string }>) => Promise<Readonly<{ id: string ; password: string ; roomTitle: string ; roomType: StringEnum<"MEETING"> ; url: string }>> ; getDetails: (params: Readonly<{ conferenceId: string ; password: string }>) => Promise<Readonly<{ roomRestrictions?: Readonly<{ asrAllowed?: boolean ; chatAllowed?: boolean ; denoiserAllowed?: boolean ; editOwnNameAllowed?: boolean ; editTitleAllowed?: boolean ; guestAllowed?: boolean ; inviteAllowed?: boolean ; lobbyAllowed?: boolean ; maxConferenceCapacity?: number ; maxConferenceDurationSec?: number ; maxConferenceViewersCapacity?: number ; maxPremiumConferences?: number ; maxUsersForInfiniteConference?: number ; recordScreenAllowed?: boolean ; sipAllowed?: boolean ; watermarkAllowed?: boolean ; webinarAllowed?: boolean }> ; roomTitle?: string ; roomType: StringEnum<"MEETING"> ; userRole: JazzRoomParticipantRole }>> ; join: (params: { conferenceId: string ; password: string }) => Readonly<{ container: Container; event$: Observable<JazzRoomEvent>; status: Readonly<{ get: () => JazzRoomStatus; value$: Observable<JazzRoomStatus>; }>; ... 32 more ...; client: Readonly<...>; }> ; update: (params: { conferenceId: string ; password: string ; roomSettings: Readonly<Partial<Pick<Readonly<{ guestEnabled?: boolean ; isNext?: boolean ; jsonChatEnabled?: boolean ; lobbyEnabled?: boolean ; room3dEnabled?: boolean ; serverVideoRecordAutoStartEnabled?: boolean ; sipEnabled?: boolean ; summarizationEnabled?: boolean ; title?: string ; watermarkEnabled?: boolean }>, "title" | "watermarkEnabled" | "lobbyEnabled" | "sipEnabled" | "serverVideoRecordAutoStartEnabled" | "room3dEnabled" | "summarizationEnabled">>> }) => Promise<void> }> ; container: Container ; destroy: () => void ; event$: Observable<JazzClientEvent> ; isNetworkOnline: Readonly<{}> ; sdk: Readonly<{ container: Container ; event$: Observable<JazzSdkEvent> } & > ; serverUrl: string }> ; connectionStatus: Readonly<{}> ; container: Container ; displayStream: Readonly<{}> ; dominantParticipantId: Readonly<{}> ; error: Readonly<{}> ; event$: Observable<JazzRoomEvent> ; getAudioStream: (participantId: string) => undefined | MediaStream ; getParticipantSource: (participantId: string, mediaType: MediaType) => undefined | Readonly<{ isMuted: boolean ; stream: MediaStream }> ; getVideoStream: (participantId: string, request: { source: JazzRoomVideoSource }) => undefined | MediaStream ; getVideoStreamSourceName: (participantId: string, source: JazzRoomVideoSource) => undefined | string ; leave: (options?: { endConference: boolean }) => Promise<void> ; localParticipant: Readonly<{}> ; localRaisedHand: Readonly<{}> ; moderator: { grantPermission: (participantId: string, permission: "canEditOwnName" | "canEditRoomPolicy" | "canEditRoomTitle" | "canFinishCall" | "canGrantPermission" | "canInvite" | "canKickUser" | "canMuteUser" | "canRequestPermission" | "canSendMessage" | "canShareAudio" | "canShareCamera" | "canShareMedia" | "canViewModerators" | "canViewAsr" | "canManageAsr" | "canManageWatermark" | "canManageLobby" | "canManageDenoiser" | "canRecordScreen" | "canStartServerVideoRecord" | "canStartPoll" | "canSendReaction" | "canManagePoll" | "canManageSessionGroups" | "canLeaveSessionGroups", allowed: boolean) => void ; grantedPermissions: Readonly<{}> ; kickUsers: (participantIds: string | readonly string[]) => void ; kickUsersAll: () => void ; muteUsers: (participantIds: string | readonly string[], type: RoomMuteMediaType) => void ; muteUsersAll: (type: RoomMuteMediaType) => void ; permissionRequestResolutions: Readonly<{}> ; permissionRequests: Readonly<{}> ; removeGrantedPermission: (permission: "canEditOwnName" | "canEditRoomPolicy" | "canEditRoomTitle" | "canFinishCall" | "canGrantPermission" | "canInvite" | "canKickUser" | "canMuteUser" | "canRequestPermission" | "canSendMessage" | "canShareAudio" | "canShareCamera" | "canShareMedia" | "canViewModerators" | "canViewAsr" | "canManageAsr" | "canManageWatermark" | "canManageLobby" | "canManageDenoiser" | "canRecordScreen" | "canStartServerVideoRecord" | "canStartPoll" | "canSendReaction" | "canManagePoll" | "canManageSessionGroups" | "canLeaveSessionGroups") => void ; rolePermissions: Readonly<{}> ; setRolePermissions: (props: { permissions: Partial<Readonly<Record<"canEditOwnName" | "canEditRoomPolicy" | "canEditRoomTitle" | "canFinishCall" | "canGrantPermission" | "canInvite" | "canKickUser" | "canMuteUser" | "canRequestPermission" | "canSendMessage" | "canShareAudio" | "canShareCamera" | "canShareMedia" | "canViewModerators" | "canViewAsr" | "canManageAsr" | "canManageWatermark" | "canManageLobby" | "canManageDenoiser" | "canRecordScreen" | "canStartServerVideoRecord" | "canStartPoll" | "canSendReaction" | "canManagePoll" | "canManageSessionGroups" | "canLeaveSessionGroups", boolean>>> ; role: JazzRoomParticipantRole }) => Promise<void> ; setSettings: (settingsUpdate: Partial<JazzRoomSettings>) => Promise<void> } ; muteAudioInput: (isMuted: boolean) => Promise<void> ; muteDisplayVideoInput: (isMuted: boolean) => Promise<void> ; muteVideoInput: (isMuted: boolean) => Promise<void> ; params: Readonly<{ conferenceId: Readonly<{}> ; conferencePassword: Readonly<{}> ; domainUrl: Readonly<{}> ; nodeToken: Readonly<{}> ; nodeUrl: Readonly<{}> ; roomId: Readonly<{}> ; roomPassword: Readonly<{}> ; roomType: Readonly<{}> ; sessionSecret: Readonly<{}> }> ; participants: Readonly<{}> ; ready: (status?: "connected" | "disconnecting" | "disconnected") => Promise<void> ; remoteParticipants: Readonly<{}> ; remoteRaisedHands: Readonly<{}> ; requestPermission: (permission: "canEditOwnName" | "canEditRoomPolicy" | "canEditRoomTitle" | "canFinishCall" | "canGrantPermission" | "canInvite" | "canKickUser" | "canMuteUser" | "canRequestPermission" | "canSendMessage" | "canShareAudio" | "canShareCamera" | "canShareMedia" | "canViewModerators" | "canViewAsr" | "canManageAsr" | "canManageWatermark" | "canManageLobby" | "canManageDenoiser" | "canRecordScreen" | "canStartServerVideoRecord" | "canStartPoll" | "canSendReaction" | "canManagePoll" | "canManageSessionGroups" | "canLeaveSessionGroups") => void ; sendReaction: (reaction: ReactionType) => void ; setDisplayVideoInput: (stream: undefined | MediaStream) => void ; setLocalRaiseHand: (isRaised: boolean) => void ; setUserAudioInput: (stream: undefined | MediaStream) => Promise<void> ; setUserVideoInput: (stream: undefined | MediaStream) => Promise<void> ; settings: JazzRoomSettingsQueries ; sources: Readonly<{}> ; status: Readonly<{}> ; userAudioStream: Readonly<{}> ; userPermissionRequests: Readonly<{}> ; userPermissions: Readonly<{}> ; userVideoStream: Readonly<{}> }> |