TRTCMeeting (iOS)

Last updated: 2021-04-27 16:53:24

    TRTCMeeting has the following features based on Tencent Real-Time Communication (TRTC) and Instant Messaging (IM):

    • The chairperson can create a meeting room, and the participants can enter the room ID to join the meeting.
    • The participants can share their screens with each other.
    • All users can send various text and custom messages.

    TRTCMeeting is an open-source class depending on two closed-source Tencent Cloud SDKs. For the specific implementation process, please see Video Conferencing (iOS).

    • TRTC SDK: the TRTC SDK is used as the low-latency video conferencing component.
    • IM SDK: the MeetingRoom feature of the IM SDK is used to implement chat rooms in meetings.

    TRTCMeeting API Overview

    Basic SDK APIs

    API Description
    sharedInstance Gets singleton object.
    delegateQueue Sets the thread where the event callback is.
    delegate Sets event callback.
    login Logs in.
    logout Logs out.
    setSelfProfile Sets user information.

    Meeting room APIs

    API Description
    createMeeting Creates meeting room (called by chairperson).
    destroyMeeting Terminates meeting room (called by chairperson).
    enterMeeting Enters meeting room (called by participant).
    leaveMeeting Exits meeting room (called by participant).

    Remote user APIs

    API Description
    getUserInfoList Gets the list of all users in room. This API will take effect only if it is called after enterMeeting() succeeds.
    getUserInfo Gets the details of specified user in room. This API will take effect only if it is called after enterMeeting() succeeds.
    startRemoteView Plays back the remote video image of specified member.
    stopRemoteView Stops playing back remote video image.
    setRemoteViewFillMode Sets the rendering mode of remote image based on user ID.
    setRemoteViewRotation Sets the clockwise rotation angle of remote image.
    muteRemoteAudio Mutes specified remote member.
    muteRemoteVideoStream Blocks the video stream of specified remote member.

    Local video operation APIs

    API Description
    startCameraPreview Enables the preview image of local video.
    stopCameraPreview Stops local video capturing and preview.
    switchCamera Switches between front and rear cameras.
    setVideoResolution Sets resolution.
    setVideoFps Sets frame rate.
    setVideoBitrate Sets bitrate.
    setLocalViewMirror Sets the mirroring preview mode of local image.

    Local audio operation APIs

    API Description
    startMicrophone Enables mic capturing.
    stopMicrophone Stops mic capturing.
    setAudioQuality Sets audio quality.
    muteLocalAudio Mutes local audio.
    setSpeaker Enables speaker.
    setAudioCaptureVolume Sets mic capturing volume level.
    setAudioPlayoutVolume Sets playback volume level.
    startFileDumping Starts audio recording.
    stopFileDumping Stops audio recording.
    enableAudioEvaluation Enables volume level reminder.

    Screen sharing APIs

    API Description
    startScreenCapture Starts screen sharing.
    stopScreenCapture Stops screen sharing.
    pauseScreenCapture Pauses screen sharing.
    resumeScreenCapture Resumes screen sharing.

    Beauty filter APIs

    API Description
    getBeautyManager Gets beauty filter management object TXBeautyManager.

    Sharing APIs

    API Description
    getLiveBroadcastingURL Gets CDN sharing link.

    Message sending APIs

    API Description
    sendRoomTextMsg Broadcasts text message in room. This API is generally used for text chat.
    sendRoomCustomMsg Broadcasts custom (signaling) message in room.

    TRTCMeetingDelegate API Overview

    General event callbacks

    API Description
    onError Callback for error.

    Meeting room event callbacks

    API Description
    onRoomDestroy Callback for meeting room termination.
    onNetworkQuality Callback for network status.
    onUserVolumeUpdate Callback for user call volume level.

    Member entry/exit event callbacks

    API Description
    onUserEnterRoom Notification of new member's room entry.
    onUserLeaveRoom Notification of member's room exit.

    Member audio/video event callbacks

    API Description
    onUserVideoAvailable Notification of member enabling/disabling camera.
    onUserAudioAvailable Notification of member enabling/disabling mic.

    Screen sharing event callbacks

    API Description
    onScreenCaptureStarted Notification of screen sharing start.
    onScreenCapturePaused Callback for screen sharing pause.
    onScreenCaptureResumed Callback for screen sharing resumption.
    onScreenCaptureStoped Callback for screen sharing stop.

    Message event callbacks

    API Description
    onRecvRoomTextMsg Receipt of text message.
    onRecvRoomCustomMsg Receipt of custom message.

    Screen sharing event callbacks

    API Description
    onScreenCaptureStarted Notification of screen sharing start.
    onScreenCapturePaused Callback for screen sharing pause.
    onScreenCaptureResumed Callback for screen sharing resumption.
    onScreenCaptureStoped Callback for screen sharing stop.

    TRTCMeetingDef API Overview

    TRTCMeetingUserInfo (meeting user information)

    Attribute Description
    userId User ID.
    userName Username (nickname).
    avatarURL URL of user profile photo.
    isVideoAvailable Whether the user has enabled video.
    isAudioAvailable Whether the user has enabled audio.
    isMuteVideo Whether the video image of the user is frozen (the user's video is not played back).
    isMuteAudio Whether the audio of the user is muted (the user's audio is not played back).

    Basic SDK APIs

    sharedInstance

    This API is used to get the TRTCMeeting singleton object.

    + (instancetype)sharedInstance;
    

    delegateQueue

    This API is used to set the thread where the event callback is.

    - (void)setDelegateQueue:(dispatch_queue_t)delegateQueue
    

    The parameters are as detailed below:

    Parameter Type Description
    delegateQueue dispatch_queue_t Notifies various status notification callbacks in TRTCMeeting through this queue. Please do not use this parameter together with setDelegate

    delegate

    This API is used to get the event callback of TRTCMeeting. You can use TRTCMeetingDelegate to get various status notifications of TRTCMeeting.

    login

    This API is used to log in.

    - (void)login:(UInt32)sdkAppId userId:(NSString *)userId userSig:(NSString *)userSig callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    sdkAppId UInt32 You can view the SDKAppID in the TRTC Console > Application Management > "Application Info".
    userId NSString ID of current user, which is a string that can contain only letters (a–z and A–Z), digits (0–9), hyphens (-), and underscores (_).
    userSig NSString Tencent Cloud's proprietary security protection signature. For more information on how to get it, please see How to Calculate UserSig.
    callback TRTCMeetingCallback Callback for login. The code will be 0 if the operation succeeds.

    logout

    This API is used to log out.

    - (void)logout:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    callback TRTCMeetingCallback Callback for logout. The code will be 0 if the operation succeeds.

    setSelfProfile

    This API is used to modify the personal information.

    - (void)setSelfProfile:(NSString *)userName avatarURL:(NSString *)avatarURL callback:(TRTCMeetingCallback)callback;
    
    Parameter Type Description
    userName NSString User nickname.
    avatarURL NSString User profile photo.
    callback TRTCMeetingCallback Callback for user information setting result. The code will be 0 if the operation succeeds.

    Meeting Room APIs

    createMeeting

    This API is used to create a meeting (called by the chairperson).

    - (void)createMeeting:(UInt32)roomId callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    roomId UInt32 Room ID. You need to assign and manage the IDs in a centralized manner.
    callback TRTCMeetingCallback Callback for room creation result. The code will be 0 if the operation succeeds.

    Generally, the chairperson calls the APIs in the following steps:

    1. The chairperson calls createMeeting() to create a meeting. No matter whether the room is successfully created, the result will be notified to the chairperson through TRTCMeetingCallback.
    2. The chairperson calls startCameraPreview() to enable camera preview. At this time, the beauty filter parameters can be adjusted.
    3. The chairperson calls startMicrophone() to enable mic capturing.

    destroyMeeting

    This API is used to terminate a meeting room (called by the chairperson). After creating a meeting, the chairperson can call this API to terminate it.

    - (void)destroyMeeting:(UInt32)roomId callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    roomId UInt32 Room ID. You need to assign and manage the IDs in a centralized manner.
    callback TRTCMeetingCallback Callback for room creation result. The code will be 0 if the operation succeeds.

    enterMeeting

    This API is used to enter a meeting (called by the participant).

    - (void)enterMeeting:(UInt32)roomId callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    roomId UInt32 Room ID. You need to assign and manage the IDs in a centralized manner.
    callback TRTCMeetingCallback Callback for room entry result. The code will be 0 if the operation succeeds.

    Generally, the participant joins a meeting in the following steps:

    1. The participant calls enterMeeting and passes in roomId to enter the meeting room.
    2. The participant calls startCameraPreview() to enable camera preview and calls startMicrophone() to enable mic capturing.
    3. The participant receives the onUserVideoAvailable event and calls startRemoteView(userId) and passes in the userId of the target member to start playback.

    leaveMeeting

    This API is used to leave a meeting (called by the participant).

    - (void)leaveMeeting:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    callback TRTCMeetingCallback Callback for room exit result. The code will be 0 if the operation succeeds.

    Remote User APIs

    getUserInfoList

    This API is used to get the list of all users in the room. It will take effect only if it is called after enterMeeting() succeeds.

    - (void)getUserInfoList:(TRTCMeetingUserListCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    callback TRTCMeetingUserListCallback Callback for user details.

    getUserInfo

    This API is used to get the details of a specified user in the room. It will take effect only if it is called after enterMeeting() succeeds.

    - (void)getUserInfo:(NSString *)userId callback:(TRTCMeetingUserListCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString Remote user ID.
    callback TRTCMeetingUserListCallback Callback for user details.

    startRemoteView

    This API is used to play back the remote video image of a specified member. It can be called when the callback of onUserVideoAvailable() is true.

    - (void)startRemoteView:(NSString *)userId view:(UIView *)view callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString ID of the user whose video image is to be played back.
    view UIView view control that carries the video image.
    callback TRTCMeetingCallback Callback for operation.

    stopRemoteView

    This API is used to stop rendering the remote video image. It can be called when the callback of onUserVideoAvailable() is false.

    - (void)stopRemoteView:(NSString *)userId callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString ID of the user whose video image is to be stopped.
    callback TRTCMeetingCallback Callback for operation.

    setRemoteViewFillMode

    This API is used to set the rendering mode of the remote video image based on user ID.

    - (void)setRemoteViewFillMode:(NSString *)userId fillMode:(TRTCVideoFillMode)fillMode;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID.
    fillMode TRTCVideoFillMode Fill or fit mode. Default value: fill (TRTCVideoFillMode_Fill). For more information, please see TRTC SDK.

    setRemoteViewRotation

    This API is used to set the clockwise rotation angle of the remote image.

    - (void)setRemoteViewRotation:(NSString *)userId rotation:(NSInteger)rotation;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString Remote user ID.
    rotation NSInteger Clockwise rotation angle. For more information, please see TRTC SDK.

    muteRemoteAudio

    This API is used to mute the remote audio.

    - (void)muteRemoteAudio:(NSString *)userId mute:(BOOL)mute;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString Remote user ID.
    mute BOOL true: mutes; false: unmutes.

    muteRemoteVideoStream

    This API is used to block the remote video stream of a specified member.

    - (void)muteRemoteVideoStream:(NSString *)userId mute:(BOOL)mute;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString Remote user ID.
    mute BOOL true: blocks; false: unblocks.

    Local Video Operation APIs

    startCameraPreview

    This API is used to enable the preview image of local video.

    - (void)startCameraPreview:(BOOL)isFront view:(UIView *)view;
    

    The parameters are as detailed below:

    Parameter Type Description
    isFront BOOL true: front camera; false: rear camera.
    view UIView Control that carries the video image.

    stopCameraPreview

    This API is used to stop local video capturing and preview.

    - (void)stopCameraPreview;
    

    switchCamera

    This API is used to switch between front and rear cameras.

    - (void)switchCamera:(BOOL)isFront;
    

    The parameters are as detailed below:

    Parameter Type Description
    isFront BOOL Switches between front and rear cameras. true: front camera; false: rear camera.

    setVideoResolution

    This API is used to set the resolution.

    - (void)setVideoResolution:(TRTCVideoResolution)resolution;
    

    The parameters are as detailed below:

    Parameter Type Description
    resolution TRTCVideoResolution Video resolution. For more information, please see TRTC SDK.

    setVideoFps

    This API is used to set the frame rate.

    - (void)setVideoFps:(int)fps;
    

    The parameters are as detailed below:

    Parameter Type Description
    fps int Video capturing frame rate.

    Note:

    Recommended value: 15 or 20 fps. If the frame rate is lower than 5 fps, there will be obvious lagging; if lower than 10 fps but higher than 5 fps, there will be slight lagging; if higher than 20 fps, too many resources will be wasted (the frame rate of movies is generally 24 fps).

    setVideoBitrate

    This API is used to set the bitrate.

    - (void)setVideoBitrate:(int)bitrate;
    

    The parameters are as detailed below:

    Parameter Type Description
    bitrate int Bitrate. The SDK encodes streams at the target video bitrate and will actively reduce the bitrate only if the network conditions are poor. For more information, please see TRTC SDK.

    Note:

    Recommended value: please see the optimal bitrate for each tier in TRTCVideoResolution. You can also slightly increase the optimal bitrate. For example, TRTC_VIDEO_RESOLUTION_1280_720 corresponds to the target bitrate of 1,200 Kbps, and you can also set the bitrate to 1,500 Kbps for higher definition.

    setLocalViewMirror

    This API is used to set the mirroring preview mode of local video image.

    - (void)setLocalViewMirror:(TRTCLocalVideoMirrorType)type;
    

    The parameters are as detailed below:

    Parameter Type Description
    type TRTCLocalVideoMirrorType Mirroring mode. For more information, please see TRTC SDK.

    Local Audio Operation APIs

    startMicrophone

    This API is used to enable mic capturing.

    - (void)startMicrophone;
    

    stopMicrophone

    This API is used to stop mic capturing.

    - (void)stopMicrophone;
    

    setAudioQuality

    This API is used to set the audio quality.

    - (void)setAudioQuality:(TRTCAudioQuality)quality;
    

    The parameters are as detailed below:

    Parameter Type Description
    quality TRTCAudioQuality Audio quality. For more information, please see TRTC SDK.

    muteLocalAudio

    This API is used to mute/unmute the local audio.

    - (void)muteLocalAudio:(BOOL)mute;
    

    The parameters are as detailed below:

    Parameter Type Description
    mute BOOL Mutes/Unmutes. For more information, please see TRTC SDK.

    setSpeaker

    This API is used to enable the speaker.

    - (void)setSpeaker:(BOOL)useSpeaker;
    

    The parameters are as detailed below:

    Parameter Type Description
    useSpeaker BOOL true: speaker; false: receiver.

    setAudioCaptureVolume

    This API is used to set the mic capturing volume level.

    - (void)setAudioCaptureVolume:(NSInteger)volume;
    

    The parameters are as detailed below:

    Parameter Type Description
    volume NSInteger Capture volume level. Value range: 0–100. Default value: 100.

    setAudioPlayoutVolume

    This API is used to set the playback volume level.

    - (void)setAudioPlayoutVolume:(NSInteger)volume;
    

    The parameters are as detailed below:

    Parameter Type Description
    volume NSInteger Playback volume level. Value range: 0–100. Default value: 100.

    startFileDumping

    This API is used to start audio recording.

    - (void)startFileDumping:(TRTCAudioRecordingParams *)params;
    

    The parameters are as detailed below:

    Parameter Type Description
    params TRTCAudioRecordingParams Audio recording parameters. For more information, please see TRTC SDK.

    Note:

    After this API is called, the SDK will record all audios (such as local audio, remote audio, and background music) in the current call to a file. No matter whether room entry is performed, this API will take effect once called. If audio recording is still ongoing when exitMeeting is called, it will stop automatically.

    stopFileDumping

    This API is used to stop audio recording.

    - (void)stopFileDumping;
    

    enableAudioEvaluation

    This API is used to enable the volume level reminder.

    - (void)enableAudioEvaluation:(BOOL)enable;
    

    The parameters are as detailed below:

    Parameter Type Description
    enable BOOL true: enables; false: disables.

    Note:

    After this feature is enabled, the result of volume level evaluation by the SDK will be obtained in onUserVolumeUpdate.

    Screen Sharing APIs

    startScreenCapture

    This API is used to start screen sharing.

    - (void)startScreenCapture:(TRTCVideoEncParam *)params;
    

    The parameters are as detailed below:

    Parameter Type Description
    params TRTCVideoEncParam Screen sharing encoding parameters. We recommend you use the above configuration. If you set encParams to nil, the encoding parameter settings before startScreenCapture is called will be used.

    Note:

    For more information, please see TRTC SDK.

    stopScreenCapture

    This API is used to stop screen sharing.

    - (int)stopScreenCapture
    

    pauseScreenCapture

    This API is used to pause screen sharing.

    - (int)pauseScreenCapture
    

    resumeScreenCapture

    This API is used to resume screen sharing.

    - (int)resumeScreenCapture
    

    Sharing APIs

    getLiveBroadcastingURL

    This API is used to get the CDN sharing link.

    - (NSString *)getLiveBroadcastingURL;
    

    The returned values are as detailed below:

    Returned Value Type Description
    url NSString CDN sharing link.

    Beauty Filter APIs

    getBeautyManager

    This API is used to get the beauty filter management object TXBeautyManager.

    - (TXBeautyManager *)getBeautyManager;
    

    You can use the following features with beauty filter management:

    • Set beauty effects such as "beauty filter style", "brightening", "rosy skin", "eye enlarging", "face slimming", "chin slimming", "chin lengthening or shortening", "face shortening", "nose narrowing", "eye brightening", "teeth whitening", "eye bag removal", "wrinkle removal", and "smile line removal".
    • Adjust the "hairline", "eye distance", "eye corners", "mouth shape", "nose wing", "nose position", "lip thickness", and "face shape".
    • Set animated effects such as facial pendants (materials).
    • Add makeup effects.
    • Recognize gestures.

    Message Sending APIs

    sendRoomTextMsg

    This API is used to broadcast a text message in the room.

    - (void)sendRoomTextMsg:(NSString *)message callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    message NSString Text message.
    callback TRTCMeetingCallback Callback for sending result.

    sendRoomCustomMsg

    This API is used to send a custom text message.

    - (void)sendRoomCustomMsg:(NSString *)cmd message:(NSString *)message callback:(TRTCMeetingCallback)callback;
    

    The parameters are as detailed below:

    Parameter Type Description
    cmd NSString Custom command word used to distinguish between different message types.
    message NSString Text message.
    callback TRTCMeetingCallback Callback for sending result.

    TRTCMeetingDelegate Event Callbacks

    General Event Callbacks

    onError

    Note:

    The SDK encountered an irrecoverable error and must be listened on. Corresponding UI reminders should be displayed based on the actual conditions.

    - (void)onError:(NSInteger)code message:(NSString* _Nullable)message;
    

    The parameters are as detailed below:

    Parameter Type Description
    code NSInteger Error code.
    message NSString Error message.

    Room Event Callbacks

    onRoomDestroy

    Callback for room termination. When the chairperson exits the room, all users in the room will receive this callback.

    - (void)onRoomDestroy:(NSString *)roomId;
    

    The parameters are as detailed below:

    Parameter Type Description
    roomId NSString Room ID.

    onNetworkQuality

    Callback for network status.

    - (void)onNetworkQuality:(TRTCQualityInfo *)localQuality
               remoteQuality:(NSArray<TRTCQualityInfo*> *)remoteQuality;
    

    The parameters are as detailed below:

    Parameter Type Description
    localQuality TRTCQualityInfo Upstream network quality.
    remoteQuality NSArray<TRTCQualityInfo *> Downstream network quality.

    Note:

    For more information, please see TRTC SDK.

    onUserVolumeUpdate

    Notification to all members of the volume level after the volume level reminder is enabled.

    - (void)onUserVolumeUpdate:(NSString *)userId volume:(NSInteger)volume;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID.
    volume NSInteger Volume level. Value range: 0–100.

    Member Entry/Exit Event Callbacks

    onUserEnterRoom

    Notification of new member's room entry.

    - (void)onUserEnterRoom:(NSString *)userId;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID of the new member who enters the room.

    onUserLeaveRoom

    Notification of member's room exit.

    - (void)onUserLeaveRoom:(NSString *)userId;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID of the member who exits the room.

    Member Audio/Video Event Callbacks

    onUserVideoAvailable

    Notification of member enabling/disabling camera.

    - (void)onUserVideoAvailable:(NSString *)userId available:(BOOL)available;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID.
    available BOOL true: the camera is enabled; false: the camera is disabled.

    onUserAudioAvailable

    Notification of member enabling/disabling mic.

    - (void)onUserAudioAvailable:(NSString *)userId available:(BOOL)available;
    

    The parameters are as detailed below:

    Parameter Type Description
    userId NSString User ID.
    available BOOL true: the mic is enabled; false: the mic is disabled;

    Message Event Callbacks

    onRecvRoomTextMsg

    Receipt of text message.

    - (void)onRecvRoomTextMsg:(NSString* _Nullable)message userInfo:(TRTCMeetingUserInfo *)userInfo;
    

    The parameters are as detailed below:

    Parameter Type Description
    message NSString Text message.
    user TRTCMeetingUserInfo User information of sender.

    onRecvRoomCustomMsg

    Receipt of custom message.

    - (void)onRecvRoomCustomMsg:(NSString* _Nullable)cmd message:(NSString* _Nullable)message userInfo:(TRTCMeetingUserInfo *)userInfo;
    

    The parameters are as detailed below:

    Parameter Type Description
    command NSString Custom command word used to distinguish between different message types.
    message NSString Text message.
    user TRTCMeetingUserInfo User information of sender.

    Screen Sharing Event Callbacks

    onScreenCaptureStarted

    Screen sharing start notification.

    - (void)onScreenCaptureStarted;
    

    onScreenCapturePaused

    Screen sharing pause notification.

    - (void)onScreenCapturePaused:(int)reason;
    

    The parameters are as detailed below:

    Parameter Type Description
    reason int Reason for pause. 0: the user paused proactively; 1: screen sharing was paused as the screen window became invisible.

    onScreenCaptureResumed

    Screen sharing resumption notification.

    - (void)onScreenCaptureResumed:(int)reason;
    

    The parameters are as detailed below:

    Parameter Type Description
    reason int Reason for resumption, 0: the user resumed proactively; 1: screen sharing was resumed as the screen window became visible.

    onScreenCaptureStoped

    Screen sharing stop notification.

    - (void)onScreenCaptureStoped:(int)reason;
    

    The parameters are as detailed below:

    Parameter Type Description
    reason int Reason for stop. 0: the user stopped proactively; 1: screen sharing stopped as the shared window was closed.

    TRTCMeetingDef Attributes

    TRTCMeetingUserInfo

    userId

    User ID.

    @property (nonatomic, strong) NSString *userId;
    

    userName

    Username (nickname).

    @property (nonatomic, strong) NSString *userName;
    

    avatarURL

    URL of user profile photo.

    @property (nonatomic, strong) NSString *avatarURL;
    

    roomId

    Room ID.

    @property (nonatomic, assign) UInt32 roomId;
    

    isVideoAvailable

    Whether the user has enabled video.

    @property (nonatomic, assign) BOOL isVideoAvailable;
    

    isAudioAvailable

    Whether the user has enabled audio.

    @property (nonatomic, assign) BOOL isAudioAvailable;
    

    isMuteVideo

    Whether the video image of the user is frozen (the user's video is not played back).

    @property (nonatomic, assign) BOOL isMuteVideo;
    

    isMuteAudio

    Whether the audio of the user is muted (the user's audio is not played back).

    @property (nonatomic, assign) BOOL isMuteAudio;