컴포넌트 개요
TUIKaraoke는 오픈 소스 오디오/비디오 UI 컴포넌트입니다. 프로젝트에 통합하고 몇 줄의 코드 작성만으로 애플리케이션에 온라인 노래방 시나리오를 추가하고 노래방, 좌석 관리, 선물 주고받기, 문자 채팅과 같은 TRTC 기능을 체험해 볼 수 있습니다. Android 플랫폼도 지원합니다. 기본 기능은 다음과 같습니다.
컴포넌트 통합
1단계: TUIKaraoke 컴포넌트 다운로드 및 가져오기
Github로 이동하여 코드를 복제하거나 다운로드하고 iOS 디렉터리의 Source
, Resources
및 TXAppBasic
폴더와 TUIKaraoke.podspec
파일을 프로젝트에 복사하여 다음 가져오기 작업을 완료합니다. Podfile
에 다음 가져오기 명령을 추가합니다.
pod 'TUIKaraoke', :path => "./", :subspecs => ["TRTC"]
pod ’TXLiteAVSDK_TRTC’
pod 'TXAppBasic', :path => "TXAppBasic/"
터미널을 열고 Podfile
디렉터리에서 다음 설치 명령을 실행합니다.
2단계: 권한 설정
프로젝트의 info.plist 파일에서 App에 대한 권한 요청을 구성합니다. SDK에는 다음 권한이 필요합니다(iOS에서는 런타임 시 마이크 액세스를 요청해야 함).
<key>NSMicrophoneUsageDescription</key>
<string>Karaoke는 마이크에 액세스 필요</string>
3단계: 컴포넌트 초기화 및 로그인
let karaokeRoom = TRTCKaraokeRoom.shared()
karaokeRoom.setDelegate(delegate: self)
karaokeRoom.login(SDKAppID: Int32(SDKAppID), UserId: UserId, UserSig: ProfileManager.shared.curUserSig()) { code, message in
if code == 0 {
}
}
매개변수 설명:
SDKAppID: TRTC 애플리케이션 ID입니다. TRTC 서비스를 활성화하지 않은 경우 TRTC 콘솔에 로그인하여 TRTC 애플리케이션을 생성하고 애플리케이션 정보를 클릭합니다. SDKAppID는 아래와 같습니다.
Secretkey: SDKAppID에 해당하는 TRTC 애플리케이션 키입니다. TRTC 콘솔의 애플리케이션 관리 페이지에서 SecretKey는 아래와 같습니다. userId: 문자열이며 최대 32바이트의 문자와 숫자를 포함할 수 있는 현재 사용자 ID입니다(특수 기호는 지원되지 않음). 실제 계정 시스템에 따라 사용자 정의할 수 있습니다.
userSig: SDKAppId, userId 및 Secretkey를 기반으로 계산된 보안 보호 서명입니다. 여기를 클릭하여 디버깅 UserSig를 온라인으로. 자세한 내용은 UserSig를 참고하십시오. 4단계: 온라인 노래방 시나리오 구현
int roomId = "방 ID";
let param = RoomParam.init()
param.roomName = "방 이름";
param.needRequest = false;
param.seatCount = 8;
param.coverUrl = "방 커버 이미지의 URL";
karaokeRoom.createRoom(roomID: Int32(roomInfo.roomID), roomParam: param) { [weak self] (code, message) in
guard let `self` = self else { return }
if code == 0 {
}
}
karaokeRoom.enterRoom(roomID: roomInfo.roomID) { [weak self] (code, message) in
guard let `self` = self else { return }
if code == 0 {
}
}
int seatIndex = 1;
karaokeRoom.enterSeat(seatIndex: seatIndex) { [weak self] (code, message) in
guard let `self` = self else { return }
if code == 0 {
}
}
func onSeatListChange(seatInfoList: [SeatInfo]) {
}
karaokeRoom.startPlayMusic(musicID: musicID, originalUrl: muscicLocalPath, accompanyUrl: accompanyLocalPath);
karaokeRoom.stopPlayMusic();
이전 단계를 완료한 후 기본 노래방 기능을 구현할 수 있습니다. 비즈니스에 채팅 및 선물 제공과 같은 더 많은 기능이 필요한 경우 다음 기능을 통합할 수 있습니다.
6단계: 문자 채팅 기능 추가(옵션)
karaokeRoom.sendRoomTextMsg(message: message) { [weak self] (code, message) in
if code == 0 {
}
}
karaokeRoom.setDelegate(delegate: self)
func onRecvRoomTextMsg(message: String, userInfo: UserInfo) {
debugPrint(userInfo.userName + "님이 발송한 메시지:" + message)
}
7단계: 선물하기 기능 추가(옵션)
선물 주고받기, 표시하기를 다음과 같이 구현할 수 있습니다.
karaokeRoom.sendRoomCustomMsg(cmd: kSendGiftCmd, message: message) { code, msg in
if (code == 0) {
}
}
karaokeRoom.setDelegate(delegate: self)
func onRecvRoomCustomMsg(cmd: String, message: String, userInfo: UserInfo) {
if cmd == kSendGiftCmd {
debugPrint(userInfo.userName + "님이 보낸" + "선물을 받았습니다." + message)
}
}
FAQ
TUIKaraoke 컴포넌트는 음성 변경, 톤 변경 및 리버브와 같은 음향 효과 기능을 지원합니까?
? 요구 사항이나 피드백이 있는 경우 colleenyu@tencent.com으로 문의하십시오.
문제 해결에 도움이 되었나요?