tencent cloud

Feedback

TRTCKaraoke (iOS)

Last updated: 2023-09-25 10:59:08
    TRTCKaraokeRoom is based on Tencent Real-Time Communication (TRTC) and Tencent Cloud Chat. With TRTCKaraoke:
    A user can create a karaoke room and become a speaker, or enter a karaoke room as a listener.
    The room owner can manage song requests as well as remove a speaker from a seat.
    The room owner can also block a seat. Listeners cannot request to take a blocked seat.
    A listener can become a speaker to request songs and sing. A speaker can also become a listener.
    All users can send gifts and text as well as custom messages. Custom messages can be used to send on-screen comments and give likes.
    Note
    All TUIKit components are based on two basic PaaS services of Tencent Cloud, namely TRTC and Chat. When you activate TRTC, the Chat SDK trial edition (which supports up to 100 DAUs) will be activated automatically. For Chat billing details, see Pricing.
    TRTCKaraokeRoom is an open-source class depending on two closed-source Tencent Cloud SDKs. For the specific implementation process, see Karaoke (iOS).
    The TRTC SDK is used as a low-latency audio chat component.
    The AVChatRoom feature of the Chat SDK is used to implement chat rooms. The attribute APIs of IM are used to store room information such as the seat list, and invitation signaling is used to send requests to speak or invite others to speak.
    

    TRTCKaraokeRoom API Overview

    Basic SDK APIs

    API
    Description
    Gets a singleton object.
    Terminates a singleton object.
    Sets event callbacks.
    Sets the thread where event callbacks are.
    Logs in.
    Logs out.
    Sets profile.

    Room APIs

    API
    Description
    Creates a room (called by room owner). If the room does not exist, the system will automatically create a room.
    Terminates a room (called by room owner).
    Enters a room (called by listener).
    Exits a room (called by listener).
    Gets room list details.
    Gets the user information of the specified userId. If the value is nil, the information of all users in the room is obtained.

    Music playback APIs

    API
    Description
    Starts music.
    Stops music.
    Pauses music.
    Resumes music.

    Seat management APIs

    API
    Description
    Becomes a speaker (called by room owner or listener).
    Becomes a listener (called by speaker).
    Places a user in a seat (called by room owner).
    Removes a speaker (called by room owner).
    Mutes/Unmutes a seat (called by room owner).
    Blocks/Unblocks a seat (called by room owner).

    Local audio APIs

    API
    Description
    Starts mic capturing.
    Stops mic capturing.
    Sets audio quality.
    Mutes/Unmutes local audio.
    Sets whether to play sound from the device’s speaker or receiver.
    Sets mic capturing volume.
    Sets playback volume.
    Enables/Disables in-ear monitoring.

    Remote audio APIs

    API
    Description
    Mutes/Unmutes a specified member.
    Mutes/Unmutes all members.

    Background music and audio effect APIs

    API
    Description
    Gets the background music and audio effect management object TXAudioEffectManager.

    Message sending APIs

    API
    Description
    Broadcasts a text chat message in a room. This API is generally used for on-screen comments.
    Sends a custom text chat message.

    Invitation signaling APIs

    API
    Description
    Sends an invitation.
    Accepts an invitation.
    Declines an invitation.
    Cancels an invitation.
    

    TRTCKaraokeRoomDelegate API Overview

    Common event callbacks

    API
    Description
    Callback for error.
    Callback for warning.
    Callback of log.

    Room event callback APIs

    API
    Description
    The room was terminated.
    The room information changed.
    User volume

    Seat list change callback APIs

    API
    Description
    All seat changes.
    A user became a speaker or was made a speaker by the room owner.
    A user became a listener or was made a listener by the room owner.
    The room owner muted a seat.
    Whether a user’s mic is muted
    The room owner blocked a seat.

    Callback APIs for room entry/exit by listener

    API
    Description
    A listener entered the room.
    A listener exited the room.

    Message event callback APIs

    API
    Description
    A text chat message was received.
    A custom message was received.

    Signaling event callback APIs

    API
    Description
    Receipt of an invitation.
    Invitation accepted by invitee.
    Invitation declined by invitee.
    Invitation canceled by inviter.

    Song event callback APIs

    API
    Description
    Music playback progress.
    Music playback is ready.
    Music playback was completed.

    Basic SDK APIs

    

    sharedInstance

    This API is used to get a TRTCKaraokeRoom singleton object.
    /**
    * Get a `TRTCKaraokeRoom` singleton object
    *
    * - returns: `TRTCKaraokeRoom` instance
    * - note: To terminate a singleton object, call {@link TRTCKaraokeRoom#destroySharedInstance()}.
    */
    + (instancetype)sharedInstance NS_SWIFT_NAME(shared());

    destroySharedInstance

    This API is used to terminate a TRTCKaraokeRoom singleton object.
    Note
    After the instance is terminated, the externally cached TRTCKaraokeRoom instance can no longer be used. You need to call sharedInstance again to get a new instance.
    /**
    * Terminate the `TRTCKaraokeRoom` singleton object
    *
    * - note: After the instance is terminated, the externally cached `TRTCKaraokeRoom` instance can no longer be used. You need to call {@link TRTCKaraokeRoom#sharedInstance()} again to get a new instance.
    */
    + (void)destroySharedInstance NS_SWIFT_NAME(destroyShared());

    setDelegate

    This API is used to set the event callbacks of TRTCKaraokeRoom. You can use TRTCKaraokeRoomDelegate to get different status notifications of TRTCKaraokeRoom.
    /**
    * Set the event callbacks of the component
    *
    * You can use `TRTCKaraokeRoomDelegate` to get different status notifications of `TRTCKaraokeRoom`.
    *
    * - parameter delegate Callback API
    * - note: Callbacks in `TRTCKaraokeRoom` are sent to you in the main queue by default. If you need to specify a queue for event callbacks, use {@link TRTCKaraokeRoom#setDelegateQueue(queue)}.
    */
    - (void)setDelegate:(id<TRTCKaraokeRoomDelegate>)delegate NS_SWIFT_NAME(setDelegate(delegate:));
    Note
    setDelegate is the delegate callback of TRTCKaraokeRoom.

    setDelegateQueue

    This API is used to set the thread queue for event callbacks. The main thread (MainQueue) is used by default.
    /**
    * Set the queue for event callbacks
    *
    * - parameter queue. The status notifications of `TRTCKaraokeRoom` will be sent to the queue you specify.
    */
    - (void)setDelegateQueue:(dispatch_queue_t)queue NS_SWIFT_NAME(setDelegateQueue(queue:));
    
    The parameters are described below:
    Parameter
    Type
    Description
    queue
    dispatch_queue_t
    The status notifications of TRTCKaraokeRoom are sent to the thread queue you specify.

    login

    Login
    - (void)login:(int)sdkAppID
    userId:(NSString *)userId
    userSig:(NSString *)userSig
    callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(login(sdkAppID:userId:userSig:callback:));
    
    The parameters are described below:
    Parameter
    Type
    Description
    sdkAppId
    int
    You can view the SDKAppID via Application Management > Application Info in the TRTC console.
    userId
    String
    The ID of the current user, which is a string that can contain only letters (a-z and A-Z), digits (0-9), hyphens (-), and underscores (_).
    userSig
    String
    Tencent Cloud's proprietary security signature. For how to calculate and use it, see FAQs > UserSig.
    callback
    ActionCallback
    The callback for login. The code is 0 if login succeeds.

    logout

    Log out
    - (void)logout:(ActionCallback _Nullable)callback NS_SWIFT_NAME(logout(callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    callback
    ActionCallback
    The callback for logout. The code is 0 if logout succeeds.

    setSelfProfile

    This API is used to set the profile.
    - (void)setSelfProfile:(NSString *)userName avatarURL:(NSString *)avatarURL callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(setSelfProfile(userName:avatarURL:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    userName
    String
    The username.
    avatar
    String
    The address of the profile photo.
    callback
    ActionCallback
    The callback for profile configuration. The code is 0 if the operation succeeds.

    Room APIs

    createRoom

    This API is used to create a room (called by room owner).
    - (void)createRoom:(int)roomID roomParam:(RoomParam *)roomParam callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(createRoom(roomID:roomParam:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    roomId
    int
    The room ID. You need to assign and manage room IDs in a centralized manner. Multiple roomID values can be aggregated into a room list. Currently, Tencent Cloud does not provide management services for room lists. Please manage your own room lists.
    roomParam
    TRTCCreateRoomParam
    Room information, such as room name, seat list information, and cover information. To manage seats, you must enter the number of seats in the room.
    callback
    ActionCallback
    The callback for room creation. The code is 0 if the operation succeeds.
    The process of creating a karaoke room and becoming a speaker is as follows:
    1. A user calls createRoom to create a karaoke room, passing in room attributes (e.g., room ID, whether listeners need room owner’s permission to speak, number of seats).
    2. After creating the room, the user calls enterSeat to become a speaker.
    3. The user will receive an onSeatListChanget notification about the change of the seat list, and can update the change to the UI.
    4. The user will also receive an onAnchorEnterSeat notification that someone became a speaker, and mic capturing will be enabled automatically.

    destroyRoom

    This API is used to terminate a room (called by room owner).
    - (void)destroyRoom:(ActionCallback _Nullable)callback NS_SWIFT_NAME(destroyRoom(callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    callback
    ActionCallback
    The callback for room termination. The code is 0 if the operation succeeds.

    enterRoom

    This API is used to enter a room (called by listener).
    - (void)enterRoom:(NSInteger)roomID callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(enterRoom(roomID:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    roomId
    int
    The room ID.
    callback
    ActionCallback
    The callback for room entry. The code is 0 if the operation succeeds.
    The process of entering a room as a listener is as follows:
    1. A user gets the latest karaoke room list from your server. The list may contain the roomId and room information of multiple karaoke rooms.
    2. The user selects a room, and enters the room by calling enterRoom with the room ID passed in.
    3. After entering the room, the user receives an onRoomInfoChange notification about room attribute change from the component. The attributes can be recorded, and corresponding changes can be made to the UI, including room name, whether room owner’s permission is required for listeners to speak, etc.
    4. The user will receive an onSeatListChange notification about the change of the seat list and can update the change to the UI.
    5. The user will also receive an onAnchorEnterSeat notification that someone became a speaker.

    exitRoom

    Leave room
    - (void)exitRoom:(ActionCallback _Nullable)callback NS_SWIFT_NAME(exitRoom(callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    callback
    ActionCallback
    The callback for room exit. The code is 0 if the operation succeeds.

    getRoomInfoList

    This API is used to get room list details. The room name and cover are set by the room owner via roomInfo when calling createRoom().
    Note
    You don’t need this API if both the room list and room information are managed on your server.
    - (void)getRoomInfoList:(NSArray<NSNumber *> *)roomIdList callback:(KaraokeInfoCallback _Nullable)callback NS_SWIFT_NAME(getRoomInfoList(roomIdList:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    roomIdList
    List<Integer>
    The room ID list.
    callback
    RoomInfoCallback
    The callback of room details.

    getUserInfoList

    This API is used to get the information of specific users (userId).
    - (void)getUserInfoList:(NSArray<NSString *> * _Nullable)userIDList callback:(KaraokeUserListCallback _Nullable)callback NS_SWIFT_NAME(getUserInfoList(userIDList:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    userIdList
    List<String>
    The user IDs to query. If this parameter is null, the information of all users in the room is queried.
    userlistcallback
    UserListCallback
    The callback of user details.

    Music Playback APIs

    startPlayMusic

    This API is used to play music (called after becoming a speaker).
    Note
    After music playback starts, you will receive an onMusicPrepareToPlay notification.
    During music playback, all members in the room will continuously receive an onMusicProgressUpdate notification.
    After music playback stops, you will receive an onMusicCompletePlaying notification.
    - (void)startPlayMusic:(int32_t)musicID originalUrl:(NSString *)originalUrl accompanyUrl:(NSString *)backingUrl NS_SWIFT_NAME(startPlayMusic(musicID:originalUrl:accompanyUrl:));
    The parameters are described below:
    Parameter
    Type
    Description
    musicID
    int32_t
    The music ID.
    originalUrl
    String
    The absolute path of the vocal track.
    accompanyUrl
    String
    The absolute path of the instrumental track.
    After this API is called, the song being played will stop.

    stopPlayMusic

    This API is used to stop music (called during music playback).
    Note
    After music playback stops, you will receive an onMusicCompletePlaying notification.
    - (void)stopPlayMusic NS_SWIFT_NAME(stopPlayMusic());

    pausePlayMusic

    This API is used to pause music (called during music playback).
    Note
    The onMusicProgressUpdate notification will be paused.
    No onMusicCompletePlaying notification will be received.
    - (void)pausePlayMusic NS_SWIFT_NAME(pausePlayMusic());

    resumePlayMusic

    This API is used to resume music (called after music playback is paused).
    Note
    No onMusicPrepareToPlay notification will be received.
    - (void)resumePlayMusic NS_SWIFT_NAME(resumePlayMusic());

    Seat Management APIs

    enterSeat

    This API is used to become a speaker (called by room owner or listener).
    Note
    After a user becomes a speaker, all members in the room will receive an onSeatListChange notification and an onAnchorEnterSeat notification.
    - (void)enterSeat:(NSInteger)seatIndex callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(enterSeat(seatIndex:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatIndex
    int
    The number of the seat to be taken.
    callback
    ActionCallback
    The callback for the operation.
    Calling this API will immediately modify the seat list. In cases where listeners need the room owner’s permission to take a seat, you can call sendInvitation first to send a request and, after receiving onInvitationAccept, call this API.

    leaveSeat

    This API is used to become a listener (called by speaker).
    Note
    After a speaker becomes a listener, all members in the room will receive an onSeatListChange notification and an onAnchorLeaveSeat notification.
    - (void)leaveSeat:(ActionCallback _Nullable)callback NS_SWIFT_NAME(leaveSeat(callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    callback
    ActionCallback
    The callback for the operation.

    pickSeat

    This API is used to place a user in a seat (called by room owner).
    Note
    After the room owner makes someone a speaker, all members in the room will receive an onSeatListChange notification and an onAnchorEnterSeat notification.
    - (void)pickSeat:(NSInteger)seatIndex userId:(NSString *)userId callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(pickSeat(seatIndex:userId:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatIndex
    int
    The number of the seat to place the listener in.
    userId
    String
    The User ID.
    callback
    ActionCallback
    The callback for the operation.
    Calling this API will immediately modify the seat list. In cases where the room owner needs listeners’ permission to make them speakers, you can call sendInvitation first to send a request and, after receiving onInvitationAccept, call pickSeat.

    kickSeat

    This API is used to remove a speaker (called by room owner).
    Note
    After a speaker is removed from a seat, all members in the room will receive an onSeatListChange notification and an onAnchorLeaveSeat notification.
    - (void)kickSeat:(NSInteger)seatIndex callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(kickSeat(seatIndex:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatIndex
    int
    The number of the seat to remove the speaker from.
    callback
    ActionCallback
    The callback for the operation.
    Calling this API will immediately modify the seat list.

    muteSeat

    This API is used to mute/unmute a seat (called by room owner).
    Note
    After a seat is muted/unmuted, all members in the room will receive an onSeatListChange notification and an onSeatMute notification.
    - (void)muteSeat:(NSInteger)seatIndex isMute:(BOOL)isMute callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(muteSeat(seatIndex:isMute:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatIndex
    int
    The number of the seat to mute/unmute.
    isMute
    boolean
    true: Mute; false: Unmute
    callback
    ActionCallback
    The callback for the operation.
    Calling this API will immediately modify the seat list. The speaker on the seat specified by seatIndex will call muteAudio to mute/unmute his or her audio.

    closeSeat

    This API is used to block/unblock a seat (called by room owner).
    Note
    After a seat is blocked/unblocked, all members in the room will receive an onSeatListChange notification and an onSeatClose notification.
    - (void)closeSeat:(NSInteger)seatIndex isClose:(BOOL)isClose callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(closeSeat(seatIndex:isClose:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatIndex
    int
    The number of the seat to block/unblock.
    isClose
    boolean
    true: Block; false: Unblock
    callback
    ActionCallback
    The callback for the operation.
    Calling this API will immediately modify the seat list. The speaker on the seat specified by seatIndex will leave the seat.

    Local Audio APIs

    startMicrophone

    This API is used to start mic capturing.
    - (void)startMicrophone;

    stopMicrophone

    This API is used to stop mic capturing.
    - (void)stopMicrophone;

    setAudioQuality

    This API is used to set audio quality.
    - (void)setAuidoQuality:(NSInteger)quality NS_SWIFT_NAME(setAuidoQuality(quality:));
    The parameters are described below:
    Parameter
    Type
    Description
    quality
    int
    The audio quality. For more information, see setAudioQuality().

    muteLocalAudio

    This API is used to mute/unmute local audio.
    - (void)muteLocalAudio:(BOOL)mute NS_SWIFT_NAME(muteLocalAudio(mute:));
    The parameters are described below:
    Parameter
    Type
    Description
    mute
    boolean
    Whether to mute or unmute audio. For more information, see muteLocalAudio().

    setSpeaker

    This API is used to set whether to play sound from the device’s speaker or receiver.
    - (void)setSpeaker:(BOOL)userSpeaker NS_SWIFT_NAME(setSpeaker(userSpeaker:));
    The parameters are described below:
    Parameter
    Type
    Description
    useSpeaker
    boolean
    true: Speaker; false: Receiver

    setAudioCaptureVolume

    This API is used to set the mic capturing volume.
    - (void)setAudioCaptureVolume:(NSInteger)volume NS_SWIFT_NAME(setAudioCaptureVolume(volume:));
    The parameters are described below:
    Parameter
    Type
    Description
    volume
    int
    The capturing volume. Value range: 0-100 (default: 100)

    setAudioPlayoutVolume

    This API is used to set the playback volume.
    - (void)setAudioPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(setAudioPlayoutVolume(volume:));
    The parameters are described below:
    Parameter
    Type
    Description
    volume
    int
    The playback volume. Value range: 0-100 (default: 100)

    muteRemoteAudio

    This API is used to mute/unmute a specified user.
    - (void)muteRemoteAudio:(NSString *)userId mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudio(userId:mute:));
    The parameters are described below:
    Parameter
    Type
    Description
    userId
    String
    The user ID.
    mute
    boolean
    true: Mute; false: Unmute

    muteAllRemoteAudio

    This API is used to mute/unmute all users.
    - (void)muteAllRemoteAudio:(BOOL)isMute NS_SWIFT_NAME(muteAllRemoteAudio(isMute:));
    The parameters are described below:
    Parameter
    Type
    Description
    isMute
    boolean
    true: Mute; false: Unmute

    setVoiceEarMonitorEnable

    This API is used to enable/disable in-ear monitoring.
    - (void)setVoiceEarMonitorEnable:(BOOL)enable NS_SWIFT_NAME(setVoiceEarMonitor(enable:));
    The parameters are described below:
    Parameter
    Type
    Description
    enable
    boolean
    true: Enable; false: Disable

    Background Music and Audio Effect APIs

    getAudioEffectManager

    This API is used to get the background music and audio effect management object TXAudioEffectManager.
    - (TXAudioEffectManager * _Nullable)getAudioEffectManager;

    Message Sending APIs

    sendRoomTextMsg

    This API is used to broadcast a text chat message in a room, which is generally used for on-screen comments.
    - (void)sendRoomTextMsg:(NSString *)message callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendRoomTextMsg(message:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    message
    String
    A text chat message.
    callback
    ActionCallback
    The callback for the operation.

    sendRoomCustomMsg

    This API is used to send a custom text chat message.
    - (void)sendRoomCustomMsg:(NSString *)cmd message:(NSString *)message callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendRoomCustomMsg(cmd:message:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    cmd
    String
    A custom command word used to distinguish between different message types.
    message
    String
    A text chat message.
    callback
    ActionCallback
    The callback for the operation.

    Invitation Signaling APIs

    sendInvitation

    This API is used to send an invitation.
    - (NSString *)sendInvitation:(NSString *)cmd
    userId:(NSString *)userId
    content:(NSString *)content
    callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendInvitation(cmd:userId:content:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    cmd
    String
    Custom command of business
    userId
    String
    The user ID of the invitee.
    content
    String
    The content of the invitation.
    callback
    ActionCallback
    The callback for the operation.
    Response parameters:
    Parameter
    Type
    Description
    inviteId
    String
    The invitation ID.

    acceptInvitation

    This API is used to accept an invitation.
    - (void)acceptInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(acceptInvitation(identifier:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    callback
    ActionCallback
    The callback for the operation.

    rejectInvitation

    This API is used to decline an invitation.
    - (void)rejectInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(rejectInvitation(identifier:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    callback
    ActionCallback
    The callback for the operation.

    cancelInvitation

    This API is used to cancel an invitation.
    - (void)cancelInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(cancelInvitation(identifier:callback:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    callback
    ActionCallback
    The callback for the operation.
    

    TRTCKaraokeRoomDelegate Event Callback APIs

    Common Event Callback APIs

    onError

    Callback for error.
    This callback indicates that the SDK encountered an unrecoverable error. Such errors must be listened for, and UI reminders should be sent to users depending if necessary.
    - (void)onError:(int)code
    message:(NSString*)message
    NS_SWIFT_NAME(onError(code:message:));
    The parameters are described below:
    Parameter
    Type
    Description
    code
    int
    The error code.
    message
    String
    The error message.

    onWarning

    Callback for warning.
    - (void)onWarning:(int)code
    message:(NSString *)message
    NS_SWIFT_NAME(onWarning(code:message:));
    The parameters are described below:
    Parameter
    Type
    Description
    code
    int
    Error code
    message
    String
    Warning message

    onDebugLog

    Callback for log.
    - (void)onDebugLog:(NSString *)message
    NS_SWIFT_NAME(onDebugLog(message:));
    The parameters are described below:
    Parameter
    Type
    Description
    message
    String
    Log information

    Room Event Callback APIs

    onRoomDestroy

    Callback for room termination. When the owner terminates the room, all users in the room will receive this callback.
    - (void)onRoomDestroy:(NSString *)message
    NS_SWIFT_NAME(onRoomDestroy(message:));
    The parameters are described below:
    Parameter
    Type
    Description
    message
    String
    Callback information

    onRoomInfoChange

    Callback for change of room information. This callback is sent after successful room entry. The information in roomInfo is passed in by the room owner during room creation.
    - (void)onRoomInfoChange:(KaraokeInfo *)roomInfo
    NS_SWIFT_NAME(onRoomInfoChange(roomInfo:));
    The parameters are described below:
    Parameter
    Type
    Description
    roomInfo
    RoomInfo
    Room information

    onUserMicrophoneMute

    Callback of whether a user’s mic is muted. When a user calls muteLocalAudio, all members in the room will receive this callback.
    - (void)onUserMicrophoneMute:(NSString *)userId mute:(BOOL)mute
    NS_SWIFT_NAME(onUserMicrophoneMute(userId:mute:));
    
    The parameters are described below:
    Parameter
    Type
    Description
    userId
    String
    The User ID.
    mute
    boolean
    Volume. Value range: 0-100

    onUserVolumeUpdate

    Notification to all members of the volume after the volume reminder is enabled.
    - (void)onUserVolumeUpdate:(NSArray<TRTCVolumeInfo *> *)userVolumes totalVolume:(NSInteger)totalVolume
    NS_SWIFT_NAME(onUserVolumeUpdate(userVolumes:totalVolume:));
    The parameters are described below:
    Parameter
    Type
    Description
    userVolumes
    List
    List of user volumes
    totalVolume
    int
    Total volume. Value range: 0-100

    Seat Callback APIs

    onSeatListChange

    Callback for all seat changes.
    - (void)onSeatInfoChange:(NSArray<KaraokeSeatInfo *> *)seatInfolist
    NS_SWIFT_NAME(onSeatListChange(seatInfoList:));
    The parameters are described below:
    Parameter
    Type
    Description
    seatInfoList
    List<SeatInfo>
    Full seat list

    onAnchorEnterSeat

    Someone became a speaker or was made a speaker by the owner.
    - (void)onAnchorEnterSeat:(NSInteger)index
    user:(KaraokeUserInfo *)user
    NS_SWIFT_NAME(onAnchorEnterSeat(index:user:));
    The parameters are described below:
    Parameter
    Type
    Description
    index
    int
    The seat taken
    user
    UserInfo
    Details of the user who took the seat

    onAnchorLeaveSeat

    A speaker became a listener or was moved to listeners by the room owner.
    - (void)onAnchorLeaveSeat:(NSInteger)index
    user:(KaraokeUserInfo *)user
    NS_SWIFT_NAME(onAnchorLeaveSeat(index:user:));
    The parameters are described below:
    Parameter
    Type
    Description
    index
    int
    The seat previously occupied by the speaker
    user
    UserInfo
    Details of the user who took the seat

    onSeatMute

    The room owner muted/unmuted a seat.
    - (void)onSeatMute:(NSInteger)index
    isMute:(BOOL)isMute
    NS_SWIFT_NAME(onSeatMute(index:isMute:));
    The parameters are described below:
    Parameter
    Type
    Description
    index
    int
    The seat muted/unmuted
    isMute
    boolean
    true: Muted; false: Unmuted

    onSeatClose

    The room owner blocked/unblocked a seat.
    - (void)onSeatClose:(NSInteger)index
    isClose:(BOOL)isClose
    NS_SWIFT_NAME(onSeatClose(index:isClose:));
    The parameters are described below:
    Parameter
    Type
    Description
    index
    int
    The seat blocked/unblocked
    isClose
    boolean
    true: Blocked; false: Unblocked

    Callback APIs for Room Entry/Exit by Listener

    onAudienceEnter

    A listener entered the room.
    - (void)onAudienceEnter:(KaraokeUserInfo *)userInfo
    NS_SWIFT_NAME(onAudienceEnter(userInfo:));
    The parameters are described below:
    Parameter
    Type
    Description
    userInfo
    UserInfo
    Information of the listener who entered the room

    onAudienceExit

    A listener exited the room.
    - (void)onAudienceExit:(KaraokeUserInfo *)userInfo
    NS_SWIFT_NAME(onAudienceExit(userInfo:));
    The parameters are described below:
    Parameter
    Type
    Description
    userInfo
    UserInfo
    Information of the listener who exited the room

    Message Event Callback APIs

    onRecvRoomTextMsg

    Callback for receiving a text chat message.
    - (void)onRecvRoomTextMsg:(NSString *)message
    userInfo:(KaraokeUserInfo *)userInfo
    NS_SWIFT_NAME(onRecvRoomTextMsg(message:userInfo:));
    The parameters are described below:
    Parameter
    Type
    Description
    message
    String
    A text chat message.
    userInfo
    UserInfo
    Information of the sender

    onRecvRoomCustomMsg

    A custom message was received.
    - (void)onRecvRoomCustomMsg:(NSString *)cmd
    message:(NSString *)message
    userInfo:(KaraokeUserInfo *)userInfo
    NS_SWIFT_NAME(onRecvRoomCustomMsg(cmd:message:userInfo:));
    The parameters are described below:
    Parameter
    Type
    Description
    command
    String
    Custom command word used to distinguish between different message types
    message
    String
    A text chat message.
    userInfo
    UserInfo
    Information of the sender

    Invitation Signaling Callback APIs

    onReceiveNewInvitation

    An invitation was received.
    - (void)onReceiveNewInvitation:(NSString *)identifier
    inviter:(NSString *)inviter
    cmd:(NSString *)cmd
    content:(NSString *)content
    NS_SWIFT_NAME(onReceiveNewInvitation(identifier:inviter:cmd:content:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    inviter
    String
    The user ID of the inviter.
    cmd
    String
    A custom command word specified by business.
    content
    UserInfo
    Content specified by business

    onInviteeAccepted

    The invitee accepted the invitation
    - (void)onInviteeAccepted:(NSString *)identifier
    invitee:(NSString *)invitee
    NS_SWIFT_NAME(onInviteeAccepted(identifier:invitee:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    invitee
    String
    The user ID of the invitee.

    onInviteeRejected

    The invitee declined the invitation
    - (void)onInviteeRejected:(NSString *)identifier
    invitee:(NSString *)invitee
    NS_SWIFT_NAME(onInviteeRejected(identifier:invitee:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    invitee
    String
    The user ID of the invitee.

    onInvitationCancelled

    The inviter canceled the invitation.
    - (void)onInvitationCancelled:(NSString *)identifier
    invitee:(NSString *)invitee NS_SWIFT_NAME(onInvitationCancelled(identifier:invitee:));
    The parameters are described below:
    Parameter
    Type
    Description
    id
    String
    The invitation ID.
    invitee
    String
    The user ID of the invitee.

    Music Playback Status Callback APIs

    onMusicPrepareToPlay

    Music playback is ready.
    - (void)onMusicPrepareToPlay:(int32_t)musicID
    NS_SWIFT_NAME(onMusicPrepareToPlay(musicID:));
    The parameters are described below:
    Parameter
    Type
    Description
    musicID
    int32_t
    musicID passed in for playback

    onMusicProgressUpdate

    Music playback progress.
    - (void)onMusicProgressUpdate:(int32_t)musicID
    progress:(NSInteger)progress total:(NSInteger)total
    NS_SWIFT_NAME(onMusicProgressUpdate(musicID:progress:total:));
    The parameters are described below:
    Parameter
    Type
    Description
    musicID
    int32_t
    musicID passed in for playback
    progress
    NSInteger
    Current playback progress in ms
    total
    NSInteger
    Total duration in ms

    onMusicCompletePlaying

    Music playback was completed.
    - (void)onMusicCompletePlaying:(int32_t)musicID
    NS_SWIFT_NAME(onMusicCompletePlaying(musicID:));
    The parameters are described below:
    Parameter
    Type
    Description
    musicID
    int32_t
    musicID passed in for playback
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support