TRTCKaraoke 관련 인터페이스
TRTCKaraokeRoom은 Tencent Real-Time Communication(TRTC)과 Instant Messaging(IM)을 기반으로 하며, 다음 기능을 지원합니다.
방 주인이 새로 Karaoke 방을 생성하여 방송을 시작하면 청취자는 Karaoke 방에 입장하여 청취/인터랙션 진행.
방 주인은 노래 신청 관리나 마이크가 켜진 호스트의 마이크를 강제로 끌 수 있음.
방 주인의 자리 차단 및 청취자 마이크 연결 신청 차단.
청취자의 마이크 켜기를 신청을 통한 마이크 켜기, 노래 신청 및 부르기 및 마이크를 끄고 일반 청취자로 전환.
다양한 텍스트 메시지 및 사용자 정의 메시지 지원, 사용자 정의 메시지를 통한 댓글 자막, 좋아요, 선물 기능 구현.
설명:
TUIKit 시리즈 컴포넌트는 Tencent Cloud의 두 가지 기본 PaaS 서비스, 즉 Tencent Real-Time Communication 및 Instant Messaging을 사용합니다. TRTC를 활성화하면 IM과 IM SDK 평가판(100 DAU만 지원)이 자동으로 활성화됩니다. IM 과금 내역은 요금 안내를 참고하십시오.
TRTCKaraokeRoom은 오픈 소스 Class로, Tencent Cloud의 두 가지 클로즈드 소스 SDK에 종속됩니다. 자세한 구현 방법은 Karaoke(iOS)를 참고하십시오.
TRTC SDK: TRTC SDK를 저지연 음성 채팅 컴포넌트로 사용합니다.
IM SDK: IM SDK의 AVChatroom을 사용해 채팅방 기능을 구현하며, IM 속성 인터페이스를 통해 마이크 위치 리스트 등 방 정보를 저장하고 초대 신호를 마이크 켜기 신청/마이크 넘기기에 사용할 수 있습니다.
TRTCKaraokeRoom API 개요
SDK 기본 함수
API | 설명 |
컴포넌트 싱글톤 가져오기. | |
컴포넌트 싱글톤 폐기. | |
이벤트 콜백 설정. | |
이벤트 콜백이 있는 스레드 설정. | |
로그인. | |
로그아웃. | |
개인 정보 수정. |
방 관련 API
API | 설명 |
방 생성(방 주인 호출), 방이 없는 경우 시스템에서 자동으로 새로운 방 생성. | |
방 폐기(방 주인 호출). | |
방 입장(청취자 호출). | |
방 퇴장(청취자 호출). | |
방 리스트의 세부 정보 획득. | |
지정 userId의 사용자 정보 획득, nil인 경우 방 안에 있는 모든 사용자 정보 획득. |
음악 재생 인터페이스
API | 설명 |
음악 재생 시작. | |
음악 재생 중지. | |
음악 재생 일시 중지. | |
음악 재생 재개. |
마이크 위치 관리 API
로컬 오디오 작업 API
API | 설명 |
마이크 수집 시작. | |
마이크 수집 중지. | |
오디오 품질 설정. | |
로컬 음소거 활성화/비활성화. | |
스피커 활성화 설정. | |
마이크 수집 음량 설정. | |
재생 볼륨 설정. | |
인이어 모니터링 활성화/비활성화. |
원격 사용자 오디오 작업 API
API | 설명 |
특정 사용자 음소거/음소거 해제. | |
모든 사용자 음소거/음소거 해제. |
배경 음악 음향 효과 관련 API
API | 설명 |
메시지 발송 관련 API
API | 설명 |
방 안에서 텍스트 메시지 발송, 일반적으로 댓글 자막 채팅에 사용. | |
사용자 정의 텍스트 메시지 발송. |
초대 신호 관련 API
API | 설명 |
사용자에게 초대 발송. | |
초대 수락. | |
초대 거부. | |
초대 취소. |
TRTCKaraokeRoomDelegate API 개요
일반적인 이벤트 콜백
API | 설명 |
오류 콜백. | |
경고 콜백. | |
Log 콜백. |
방 이벤트 콜백 API
API | 설명 |
방 폐기 콜백. | |
음성 채팅방 정보 변경 콜백. | |
사용자 통화 볼륨 콜백. |
마이크 위치 변경 콜백
API | 설명 |
전체 마이크 위치 리스트 변경. | |
사용자 마이크 켜짐(직접 마이크 켬/방 주인 특정 사용자 마이크 켬). | |
사용자 마이크 꺼짐(직접 마이크 끔/방 주인이 특정 사용자 마이크 끔). | |
방 주인 마이크 음소거. | |
사용자 마이크 음소거 여부. | |
방 주인 마이크 차단. |
청취자 입장/퇴장 이벤트 콜백
API | 설명 |
청취자 입장 알림 수신. | |
청취자 퇴장 알림 수신. |
메시지 이벤트 콜백
API | 설명 |
텍스트 메시지 수신. | |
사용자 정의 메시지 수신. |
신호 이벤트 콜백
API | 설명 |
새로운 초대 요청 수신. | |
초대된 사용자가 초대 수락. | |
초대된 사용자가 초대 거절. | |
초대한 사용자가 초대 취소. |
음악 이벤트 콜백
API | 설명 |
음악 재생 진행률 콜백. | |
음악 재생 준비 콜백. | |
재생 완료 음악 콜백. |
기본 SDK API
sharedInstance
/*** TRTCKaraokeRoom 싱글톤 가져오기** - returns: TRTCKaraokeRoom 인스턴스* - note: {@link TRTCKaraokeRoom#destroySharedInstance()}를 호출하여 싱글톤을 폐기할 수 있습니다.*/+ (instancetype)sharedInstance NS_SWIFT_NAME(shared());
destroySharedInstance
TRTCKaraokeRoom 싱글톤을 폐기합니다.
설명:
/*** TRTCKaraokeRoom 싱글톤 폐기** - note: 인스턴스 폐기 후에는 외부에 캐시된 TRTCKaraokeRoom 인스턴스를 다시 사용할 수 없으며, 다시 {@link TRTCKaraokeRoom#sharedInstance()}를 호출해 새로운 인스턴스를 획득해야 합니다.*/+ (void)destroySharedInstance NS_SWIFT_NAME(destroyShared());
setDelegate
/*** 컴포넌트 콜백 인터페이스 설정** TRTCKaraokeRoomDelegate를 통해 TRTCKaraokeRoom의 다양한 상태 알림을 받아볼 수 있습니다.** - parameter delegate 콜백 인터페이스* - note: TRTCKaraokeRoom의 이벤트 콜백은 기본적으로 Main Queue에서 귀하에게 콜백합니다. 이벤트 콜백이 존재하는 큐를 지정할 경우 {@link TRTCKaraokeRoom#setDelegateQueue(queue)}를 이용할 수 있습니다.*/- (void)setDelegate:(id<TRTCKaraokeRoomDelegate>)delegate NS_SWIFT_NAME(setDelegate(delegate:));
설명:
setDelegate는 TRTCKaraokeRoom의 콜백 프록시입니다.
setDelegateQueue
이벤트 콜백이 존재하는 스레드 큐를 설정합니다. 기본적으로 메인 스레드 MainQueue로 발송합니다.
/*** 이벤트 콜백이 있는 큐 설정** - parameter queue 큐입니다. TRTCKaraokeRoom의 각종 상태 알림을 콜백하며 지정한 queue로 배포합니다.*/- (void)setDelegateQueue:(dispatch_queue_t)queue NS_SWIFT_NAME(setDelegateQueue(queue:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
queue | dispatch_queue_t | TRTCKaraokeRoom의 각종 상태를 알림하며, 지정한 스레드 큐로 배포합니다. |
login
로그인
- (void)login:(int)sdkAppIDuserId:(NSString *)userIduserSig:(NSString *)userSigcallback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(login(sdkAppID:userId:userSig:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
sdkAppId | int | |
userId | String | 현재 사용자 ID입니다. 문자열 유형은 영어 알파벳(a-z, A-Z), 숫자(0-9), 대시 부호(-), 언더바(_)만 허용됩니다. |
userSig | String | |
callback | ActionCallback | 로그인 콜백이며, 성공 시 code는 0입니다. |
logout
로그아웃합니다.
- (void)logout:(ActionCallback _Nullable)callback NS_SWIFT_NAME(logout(callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
callback | ActionCallback | 로그아웃 콜백이며, 성공 시 code는 0입니다. |
setSelfProfile
개인 정보를 수정합니다.
- (void)setSelfProfile:(NSString *)userName avatarURL:(NSString *)avatarURL callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(setSelfProfile(userName:avatarURL:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userName | String | 닉네임. |
avatarURL | String | 프로필 사진 주소. |
callback | ActionCallback | 개인 프로필 정보 설정 콜백이며, 성공 시 code는 0입니다. |
방 관련 API
createRoom
방 생성(방 주인 호출).
- (void)createRoom:(int)roomID roomParam:(RoomParam *)roomParam callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(createRoom(roomID:roomParam:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
roomId | int | 방 식별 번호이며, 귀하가 할당하고 통합 관리합니다. 여러 개의 roomID를 1개의 음성 채팅방 리스트로 통합할 수 있으며, Tencent Cloud는 현재 음성 채팅방 리스트 관리 서비스를 제공하지 않으므로 직접 관리하시기 바랍니다. |
roomParam | TRTCCreateRoomParam | 방 정보입니다. 방 이름, 마이크 위치 정보, 썸네일 정보 등과 같이 방을 설명하는 데 사용됩니다. 마이크 위치 관리가 필요한 경우 방의 마이크 위치 개수를 설정해야 합니다. |
callback | ActionCallback | 방 생성 결과 콜백이며, 성공 시 code는 0입니다. |
방 주인의 정상적인 방송 시작 호출 프로세스는 다음과 같습니다.
1. 방 주인이
createRoom
을 호출하여 새로운 Karaoke 방을 생성합니다. 이 때, 방 ID, 마이크 연결 시 방 주인 확인 필요 여부, 마이크 위치 개수 등 방 속성 정보를 전송합니다.2. 방 주인이 방 생성 후
enterSeat
을 호출하여 자리에 입장합니다.3. 방 주인이 컴포넌트의
onSeatListChange
마이크 위치 리스트 변경 이벤트 알림을 수신합니다. 이때 마이크 위치 리스트의 변경 내용을 UI 인터페이스에 새로고침할 수 있습니다.4. 방 주인은 마이크 위치 리스트에 사용자가 입장할 때
onAnchorEnterSeat
이벤트 알림 또한 수신하며, 이때 자동으로 마이크 수집이 활성화됩니다.destroyRoom
방 폐기(방 주인 호출). 방 주인은 방 생성 후 해당 함수를 호출해 방을 폐기할 수 있습니다.
- (void)destroyRoom:(ActionCallback _Nullable)callback NS_SWIFT_NAME(destroyRoom(callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
callback | ActionCallback | 방 폐기 결과 콜백이며, 성공 시 code는 0입니다. |
enterRoom
방 입장(청취자 호출).
- (void)enterRoom:(NSInteger)roomID callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(enterRoom(roomID:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
roomId | int | 방 식별 번호. |
callback | ActionCallback | 방 입장 결과 콜백이며, 성공 시 code는 0입니다. |
청취자가 방에 입장하여 청취하는 정상적인 호출 프로세스는 다음과 같습니다.
1. 청취자가 귀하의 서버에서 최신 Karaoke 방 리스트를 획득하며, 여기에는 여러 음성 채팅방의 roomId 및 방 정보가 포함될 수 있습니다.
2. 청취자가 하나의 Karaoke 방을 선택하고
enterRoom
을 호출하여 방 번호를 전송하면 즉시 해당 방에 입장할 수 있습니다.3. 방 입장 후 컴포넌트의
onRoomInfoChange
방 속성 변경 이벤트 공지를 수신합니다. 이 때 UI에 방 이름 표시, 마이크를 켤 때 방 주인에게 동의 요청 필요 여부 기록 등 방의 속성을 기록할 수 있으며 그에 해당하는 변경이 가능합니다.4. 방 입장 후 컴포넌트의
onSeatListChange
마이크 위치 리스트 변경 이벤트 알림을 수신합니다. 이 때 마이크 위치 리스트의 변경 내용을 UI 인터페이스에 새로고침할 수 있습니다.5. 방 입장 후 마이크 위치 리스트에 호스트 입장
onAnchorEnterSeat
이벤트 공지도 수신합니다.exitRoom
방 퇴장.
- (void)exitRoom:(ActionCallback _Nullable)callback NS_SWIFT_NAME(exitRoom(callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
callback | ActionCallback | 방 퇴장 결과 콜백이며, 성공 시 code는 0입니다. |
getRoomInfoList
방 리스트의 세부 정보를 획득합니다. 방 이름, 방 썸네일은 방 주인이
createRoom()
생성 시 roomInfo를 통해 설정할 수 있습니다.설명:
방 리스트 및 방 정보를 모두 직접 관리하는 경우 해당 함수는 생략할 수 있습니다.
- (void)getRoomInfoList:(NSArray<NSNumber *> *)roomIdList callback:(KaraokeInfoCallback _Nullable)callback NS_SWIFT_NAME(getRoomInfoList(roomIdList:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
roomIdList | List<Integer> | 방 번호 리스트. |
callback | RoomInfoCallback | 방 세부 정보 콜백. |
getUserInfoList
지정 userId의 사용자 정보 획득.
- (void)getUserInfoList:(NSArray<NSString *> * _Nullable)userIDList callback:(KaraokeUserListCallback _Nullable)callback NS_SWIFT_NAME(getUserInfoList(userIDList:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userIdList | List<String> | 획득해야 할 사용자 ID 리스트입니다. null인 경우 방 안에 있는 모든 사용자 정보를 획득합니다. |
userlistcallback | UserListCallback | 사용자 세부 정보 콜백. |
음악 재생 인터페이스
startPlayMusic
음악 재생(마이크를 켠 후 호출).
설명:
음악을 재생하면
onMusicPrepareToPlay
이벤트 알림을 받습니다. 음악 재생 중에는 방안의 모든 참석자는 계속해서
onMusicProgressUpdate
이벤트 알림을 받습니다.음악 재생이 완료되면
onMusicCompletePlaying
이벤트 알림을 받습니다.- (void)startPlayMusic:(int32_t)musicID originalUrl:(NSString *)originalUrl accompanyUrl:(NSString *)backingUrl NS_SWIFT_NAME(startPlayMusic(musicID:originalUrl:accompanyUrl:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
musicID | int32_t | 음악 ID. |
originalUrl | String | 원곡 음악의 절대 경로. |
accompanyUrl | String | 반주 음악의 절대 경로. |
해당 인터페이스를 호출하면 현재 재생 중인 음악이 중지됩니다.
stopPlayMusic
음악 재생 중지(음악 재생 시 호출).
설명:
재생 중지 후,
onMusicCompletePlaying
이벤트 알림을 받습니다.- (void)stopPlayMusic NS_SWIFT_NAME(stopPlayMusic());
pausePlayMusic
재생 중인 음악 중지(음악 재생 시 호출).
설명:
onMusicProgressUpdate
이벤트 알림을 일시 중지합니다.onMusicCompletePlaying
이벤트 알림을 받지 않습니다.- (void)pausePlayMusic NS_SWIFT_NAME(pausePlayMusic());
resumePlayMusic
일시 중지한 음악 다시 재생(일시 중지 후 호출).
설명:
onMusicPrepareToPlay
이벤트 알림을 받지 않습니다.- (void)resumePlayMusic NS_SWIFT_NAME(resumePlayMusic());
마이크 위치 관리 API
enterSeat
직접 마이크 켜기(청취자 및 방 주인 모두 호출 가능).
설명:
마이크 연결 완료 후, 방 안에 있는 모든 사용자가
onSeatListChange
및 onAnchorEnterSeat
이벤트 알림을 수신합니다.- (void)enterSeat:(NSInteger)seatIndex callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(enterSeat(seatIndex:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatIndex | int | 마이크를 연결할 마이크 위치 번호. |
callback | ActionCallback | 작업 콜백. |
해당 인터페이스를 호출하면 마이크 위치 리스트가 즉시 수정됩니다. 청취자의 마이크 연결에 방 주인의 동의가 필요한 시나리오의 경우, 먼저
sendInvitation
을 호출하여 방 주인에게 신청하고 onInvitationAccept
수신 후 다시 해당 함수를 호출합니다.leaveSeat
직접 마이크 끔(호스트 호출).
설명:
마이크 연결 해제 완료 후, 방 안에 있는 모든 사용자가
onSeatListChange
및 onAnchorLeaveSeat
이벤트 알림을 수신합니다.- (void)leaveSeat:(ActionCallback _Nullable)callback NS_SWIFT_NAME(leaveSeat(callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
callback | ActionCallback | 작업 콜백. |
pickSeat
특정 사용자 마이크 켜기(방 주인 호출).
설명:
방 주인이 마이크를 연결할 사용자를 지정하면 방 안에 있는 모든 사용자가
onSeatListChange
및 onAnchorEnterSeat
이벤트 알림을 수신합니다.- (void)pickSeat:(NSInteger)seatIndex userId:(NSString *)userId callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(pickSeat(seatIndex:userId:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatIndex | int | 마이크를 연결할 마이크 위치 번호. |
userId | String | 사용자 ID. |
callback | ActionCallback | 작업 콜백. |
해당 인터페이스를 호출하면 마이크 위치 리스트가 즉시 수정됩니다. 방 주인이 청취자의 동의를 얻어야만 청취자가 마이크를 연결할 수 있는 시나리오의 경우 먼저
sendInvitation
을 호출하여 청취자에게 신청하고 onInvitationAccept
수신 후 다시 해당 함수를 호출합니다.kickSeat
특정 사용자 마이크 끄기(방 주인 호출).
설명:
방 주인이 특정 사용자의 마이크를 끄면 방 안에 있는 모든 사용자가
onSeatListChange
및 onAnchorLeaveSeat
이벤트 알림을 수신합니다.- (void)kickSeat:(NSInteger)seatIndex callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(kickSeat(seatIndex:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatIndex | int | 마이크 연결을 해제할 마이크 위치 번호. |
callback | ActionCallback | 작업 콜백. |
해당 인터페이스를 호출하면 마이크 위치 리스트가 즉시 수정됩니다.
muteSeat
특정 마이크 위치 음소거/음소거 해제(방 주인 호출).
설명:
특정 마이크 위치를 음소거/음소거 해제하면 방 안에 있는 모든 사용자가
onSeatListChange
및 onSeatMute
이벤트 알림을 수신합니다.- (void)muteSeat:(NSInteger)seatIndex isMute:(BOOL)isMute callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(muteSeat(seatIndex:isMute:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatIndex | int | 작업을 진행할 마이크 위치 번호. |
isMute | boolean | true: 음소거, false: 음소거 해제. |
callback | ActionCallback | 작업 콜백. |
해당 인터페이스를 호출하면 마이크 위치 리스트가 즉시 수정됩니다. 해당 seatIndex 자리에 있는 호스트는 자동으로 muteAudio가 호출되어 음소거/음소거 해제됩니다.
closeSeat
특정 마이크 위치 차단/차단 해제(방 주인 호출).
설명:
방 주인이 해당 마이크 위치를 차단/차단 해제하면 방 안에 있는 모든 사용자가
onSeatListChange
및 onSeatClose
이벤트 알림을 수신합니다.- (void)closeSeat:(NSInteger)seatIndex isClose:(BOOL)isClose callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(closeSeat(seatIndex:isClose:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatIndex | int | 작업을 진행할 마이크 위치 번호. |
isClose | boolean | true: 차단, false: 차단 해제. |
callback | ActionCallback | 작업 콜백. |
해당 인터페이스를 호출하면 마이크 위치 리스트가 즉시 수정됩니다. 해당 seatIndex 자리가 차단되고 자동으로 마이크 연결이 해제됩니다.
로컬 오디오 작업 API
startMicrophone
마이크 수집을 시작합니다.
- (void)startMicrophone;
stopMicrophone
마이크 수집 중지
- (void)stopMicrophone;
setAudioQuality
오디오 품질을 설정합니다.
- (void)setAuidoQuality:(NSInteger)quality NS_SWIFT_NAME(setAuidoQuality(quality:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
quality | int |
muteLocalAudio
로컬 오디오를 음소거/음소거 취소합니다.
- (void)muteLocalAudio:(BOOL)mute NS_SWIFT_NAME(muteLocalAudio(mute:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
mute | boolean |
setSpeaker
스피커를 활성화합니다.
- (void)setSpeaker:(BOOL)userSpeaker NS_SWIFT_NAME(setSpeaker(userSpeaker:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
useSpeaker | boolean | true: 스피커, false: 핸드셋. |
setAudioCaptureVolume
마이크 수집 볼륨을 설정합니다.
- (void)setAudioCaptureVolume:(NSInteger)volume NS_SWIFT_NAME(setAudioCaptureVolume(volume:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
volume | int | 수집 볼륨, 범위: 0 - 100, 기본값: 100. |
setAudioPlayoutVolume
재생 볼륨을 설정합니다.
- (void)setAudioPlayoutVolume:(NSInteger)volume NS_SWIFT_NAME(setAudioPlayoutVolume(volume:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
volume | int | 재생 볼륨, 범위: 0 - 100, 기본값: 100. |
muteRemoteAudio
지정 사용자 음소거/음소거 해제.
- (void)muteRemoteAudio:(NSString *)userId mute:(BOOL)mute NS_SWIFT_NAME(muteRemoteAudio(userId:mute:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userId | String | 지정 사용자 ID. |
mute | boolean | true: 음소거, false: 음소거 해제. |
muteAllRemoteAudio
모든 사용자 음소거/음소거 해제.
- (void)muteAllRemoteAudio:(BOOL)isMute NS_SWIFT_NAME(muteAllRemoteAudio(isMute:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
isMute | boolean | true: 음소거, false: 음소거 해제. |
setVoiceEarMonitorEnable
인이어 모니터링 활성화/비활성화.
- (void)setVoiceEarMonitorEnable:(BOOL)enable NS_SWIFT_NAME(setVoiceEarMonitor(enable:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
enable | boolean | true: 인이어 모니터링 활성화; false: 인이어 모니터링 비활성화. |
배경 음악 음향 효과 관련 API
getAudioEffectManager
- (TXAudioEffectManager * _Nullable)getAudioEffectManager;
메시지 발송 관련 API
sendRoomTextMsg
방 안에서 텍스트 메시지 발송, 일반적으로 댓글 자막 채팅에 사용.
- (void)sendRoomTextMsg:(NSString *)message callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendRoomTextMsg(message:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
message | String | 텍스트 메시지. |
callback | ActionCallback | 발송 결과 콜백. |
sendRoomCustomMsg
사용자 정의 텍스트 메시지를 발송합니다.
- (void)sendRoomCustomMsg:(NSString *)cmd message:(NSString *)message callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendRoomCustomMsg(cmd:message:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
cmd | String | 명령어, 개발자가 사용자 정의할 수 있으며 주로 서로 다른 메시지 유형을 구분하는 데 사용합니다. |
message | String | 텍스트 메시지. |
callback | ActionCallback | 발송 결과 콜백. |
초대 신호 관련 API
sendInvitation
사용자에게 초대 발송.
- (NSString *)sendInvitation:(NSString *)cmduserId:(NSString *)userIdcontent:(NSString *)contentcallback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(sendInvitation(cmd:userId:content:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
cmd | String | 서비스의 사용자 정의 명령. |
userId | String | 초대한 사용자 ID. |
content | String | 초대 내용. |
callback | ActionCallback | 발송 결과 콜백. |
반환값:
반환값 | 유형 | 의미 |
inviteId | String | 해당 초대 ID를 식별하는 데 사용. |
acceptInvitation
초대 수락.
- (void)acceptInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(acceptInvitation(identifier:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
callback | ActionCallback | 발송 결과 콜백. |
rejectInvitation
초대 거부.
- (void)rejectInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(rejectInvitation(identifier:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
callback | ActionCallback | 발송 결과 콜백. |
cancelInvitation
초대 취소.
- (void)cancelInvitation:(NSString *)identifier callback:(ActionCallback _Nullable)callback NS_SWIFT_NAME(cancelInvitation(identifier:callback:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
callback | ActionCallback | 발송 결과 콜백. |
TRTCKaraokeRoomDelegate 이벤트 콜백
일반적인 이벤트 콜백
onError
오류 콜백.
설명:
SDK가 복구할 수 없는 오류는 반드시 수신하고 상황에 따라 인터페이스를 통해 사용자에게 적절히 안내해야 합니다.
- (void)onError:(int)codemessage:(NSString*)messageNS_SWIFT_NAME(onError(code:message:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
code | int | 오류 코드. |
message | String | 오류 정보. |
onWarning
경고 콜백.
- (void)onWarning:(int)codemessage:(NSString *)messageNS_SWIFT_NAME(onWarning(code:message:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
code | int | 오류 코드. |
message | String | 경고 정보. |
onDebugLog
Log 콜백.
- (void)onDebugLog:(NSString *)messageNS_SWIFT_NAME(onDebugLog(message:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
message | String | 로그 정보. |
방 이벤트 콜백
onRoomDestroy
방 폐기 콜백. 방 주인이 방을 종료하면 방 안에 있는 모든 사용자는 해당 알림을 받게 됩니다.
- (void)onRoomDestroy:(NSString *)messageNS_SWIFT_NAME(onRoomDestroy(message:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
message | String | 콜백 정보. |
onRoomInfoChange
방 입장 후 해당 인터페이스를 콜백합니다. roomInfo의 정보는 방 주인이 방 생성 시 입력한 정보입니다.
- (void)onRoomInfoChange:(KaraokeInfo *)roomInfoNS_SWIFT_NAME(onRoomInfoChange(roomInfo:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
roomInfo | RoomInfo | 방 정보. |
onUserMicrophoneMute
사용자 마이크의 음소거 여부 콜백으로 사용자가 muteLocalAudio 호출하면 방의 모든 사용자는 해당 알림을 받게 됩니다.
- (void)onUserMicrophoneMute:(NSString *)userId mute:(BOOL)muteNS_SWIFT_NAME(onUserMicrophoneMute(userId:mute:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userId | String | 사용자 ID. |
mute | boolean | 볼륨 크기, 값: 0 - 100. |
onUserVolumeUpdate
음량 크기 알림을 활성화하여 모든 참석자의 음량 크기를 통지합니다.
- (void)onUserVolumeUpdate:(NSArray<TRTCVolumeInfo *> *)userVolumes totalVolume:(NSInteger)totalVolumeNS_SWIFT_NAME(onUserVolumeUpdate(userVolumes:totalVolume:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userVolumes | List | 사용자 리스트. |
totalVolume | int | 볼륨 크기, 값: 0 - 100. |
마이크 위치 콜백
onSeatListChange
모든 마이크 위치 리스트를 포함한 전체 마이크 위치 리스트를 변경합니다.
- (void)onSeatInfoChange:(NSArray<KaraokeSeatInfo *> *)seatInfolistNS_SWIFT_NAME(onSeatListChange(seatInfoList:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
seatInfoList | List<SeatInfo> | 전체 마이크 위치 리스트. |
onAnchorEnterSeat
사용자 마이크 켜짐(직접 마이크 켬/방 주인이 특정 사용자 마이크 켬).
- (void)onAnchorEnterSeat:(NSInteger)indexuser:(KaraokeUserInfo *)userNS_SWIFT_NAME(onAnchorEnterSeat(index:user:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
index | int | 마이크가 연결된 마이크 위치. |
user | UserInfo | 마이크가 연결된 사용자의 세부 정보. |
onAnchorLeaveSeat
사용자 마이크 꺼짐(직접 마이크 끔/방 주인이 특정 사용자 마이크 끔).
- (void)onAnchorLeaveSeat:(NSInteger)indexuser:(KaraokeUserInfo *)userNS_SWIFT_NAME(onAnchorLeaveSeat(index:user:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
index | int | 연결을 해제할 마이크 위치. |
user | UserInfo | 마이크가 연결된 사용자의 세부 정보. |
onSeatMute
방 주인 마이크 비활성화.
- (void)onSeatMute:(NSInteger)indexisMute:(BOOL)isMuteNS_SWIFT_NAME(onSeatMute(index:isMute:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
index | int | 작업 진행할 마이크 위치. |
isMute | boolean | true: 음소거, false: 음소거 해제. |
onSeatClose
방 주인 마이크 차단.
- (void)onSeatClose:(NSInteger)indexisClose:(BOOL)isCloseNS_SWIFT_NAME(onSeatClose(index:isClose:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
index | int | 작업 마이크 위치. |
isClose | boolean | true: 차단, false: 차단 해제. |
청취자 입장/퇴장 이벤트 콜백
onAudienceEnter
청취자 방 입장 알림 수신.
- (void)onAudienceEnter:(KaraokeUserInfo *)userInfoNS_SWIFT_NAME(onAudienceEnter(userInfo:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userInfo | UserInfo | 입장한 청취자 정보. |
onAudienceExit
청취자 방 퇴장 알림 수신.
- (void)onAudienceExit:(KaraokeUserInfo *)userInfoNS_SWIFT_NAME(onAudienceExit(userInfo:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
userInfo | UserInfo | 퇴장한 청취자 정보. |
메시지 이벤트 콜백
onRecvRoomTextMsg
텍스트 메시지를 수신합니다.
- (void)onRecvRoomTextMsg:(NSString *)messageuserInfo:(KaraokeUserInfo *)userInfoNS_SWIFT_NAME(onRecvRoomTextMsg(message:userInfo:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
message | String | 텍스트 메시지. |
userInfo | UserInfo | 발신자 정보. |
onRecvRoomCustomMsg
사용자 정의 메시지를 수신합니다.
- (void)onRecvRoomCustomMsg:(NSString *)cmdmessage:(NSString *)messageuserInfo:(KaraokeUserInfo *)userInfoNS_SWIFT_NAME(onRecvRoomCustomMsg(cmd:message:userInfo:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
command | String | 명령어, 개발자가 사용자 정의할 수 있으며 주로 서로 다른 메시지 유형을 구분하는 데 사용합니다. |
message | String | 텍스트 메시지. |
userInfo | UserInfo | 발신자 정보. |
초대 신호 이벤트 콜백
onReceiveNewInvitation
새로운 초대 요청 수신.
- (void)onReceiveNewInvitation:(NSString *)identifierinviter:(NSString *)invitercmd:(NSString *)cmdcontent:(NSString *)contentNS_SWIFT_NAME(onReceiveNewInvitation(identifier:inviter:cmd:content:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
inviter | String | 초대한 사용자 ID. |
cmd | String | 서비스 지정 명령어. 개발자가 사용자 정의함. |
content | UserInfo | 서비스 지정 내용. |
onInviteeAccepted
초대된 사용자가 초대 수락.
- (void)onInviteeAccepted:(NSString *)identifierinvitee:(NSString *)inviteeNS_SWIFT_NAME(onInviteeAccepted(identifier:invitee:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
invitee | String | 초대된 사용자 ID. |
onInviteeRejected
초대된 사용자가 초대 거부.
- (void)onInviteeRejected:(NSString *)identifierinvitee:(NSString *)inviteeNS_SWIFT_NAME(onInviteeRejected(identifier:invitee:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
invitee | String | 초대된 사용자 ID. |
onInvitationCancelled
초대한 사용자가 초대 취소.
- (void)onInvitationCancelled:(NSString *)identifierinvitee:(NSString *)invitee NS_SWIFT_NAME(onInvitationCancelled(identifier:invitee:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
id | String | 초대 ID. |
invitee | String | 초대한 사용자 ID. |
음악 재생 상태 콜백
onMusicPrepareToPlay
음악 재생 준비 콜백.
- (void)onMusicPrepareToPlay:(int32_t)musicIDNS_SWIFT_NAME(onMusicPrepareToPlay(musicID:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
musicID | int32_t | 재생 시 입력한 musicID입니다. |
onMusicProgressUpdate
음악 재생 진행률 콜백.
- (void)onMusicProgressUpdate:(int32_t)musicIDprogress:(NSInteger)progress total:(NSInteger)totalNS_SWIFT_NAME(onMusicProgressUpdate(musicID:progress:total:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
musicID | int32_t | 재생 시 입력한 musicID입니다. |
progress | NSInteger | 현재 재생 시간으로 단위는 ms입니다. |
total | NSInteger | 총 시간으로 단위는 ms입니다. |
onMusicCompletePlaying
음악 재생 완료 콜백.
- (void)onMusicCompletePlaying:(int32_t)musicIDNS_SWIFT_NAME(onMusicCompletePlaying(musicID:));
매개변수는 다음과 같습니다.
매개변수 | 유형 | 의미 |
musicID | int32_t | 재생 시 입력한 musicID입니다. |