Справка по 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| readonlystring[]) =>void;kickUsersAll: () =>void;muteUsers: (participantIds:string| readonlystring[],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<{}>  }> |