tencent cloud

Tencent Real-Time Communication

소식 및 공지 사항
제품 업데이트
Tencent Cloud 오디오/비디오 단말 SDK 재생 업그레이드 및 권한 부여 인증 추가
TRTC 월간 구독 패키지 출시 관련 안내
제품 소개
제품 개요
기본 개념
제품 기능
제품 장점
응용 시나리오
성능 데이터
구매 가이드
Billing Overview
무료 시간 안내
Monthly subscription
Pay-as-you-go
TRTC Overdue and Suspension Policy
과금 FAQ
Refund Instructions
신규 사용자 가이드
Demo 체험
Call
개요(TUICallKit)
Activate the Service
Run Demo
빠른 통합(TUICallKit)
오프라인 푸시
Conversational Chat
온클라우드 녹화(TUICallKit)
AI Noise Reduction
UI 사용자 정의
Calls integration to Chat
Additional Features
No UI Integration
Server APIs
Client APIs
Solution
ErrorCode
릴리스 노트
FAQs
라이브 스트리밍
Billing of Video Live Component
Overview
Activating the Service (TUILiveKit)
Demo 실행
No UI Integration
UI Customization
Live Broadcast Monitoring
Video Live Streaming
Voice Chat Room
Advanced Features
Client APIs
Server APIs
Error Codes
Release Notes
FAQs
RTC Engine
Activate Service
SDK 다운로드
API 코드 예시
Usage Guidelines
API 클라이언트 API
고급 기능
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
콘솔 가이드
애플리케이션 관리
사용량 통계
모니터링 대시보드
개발 보조
Solution
Real-Time Chorus
FAQs
과금 개요
기능 관련
UserSig 관련
방화벽 제한 처리
설치 패키지 용량 축소 관련 질문
Andriod 및 iOS 관련
Web 관련
Flutter 관련
Electron 관련
TRTCCalling Web 관련
멀티미디어 품질 관련
기타 질문
Protocols and Policies
컴플라이언스 인증
보안 백서
정보 보안에 관한 참고 사항
Service Level Agreement
Apple Privacy Policy: PrivacyInfo.xcprivacy
TRTC 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
용어집

TUIKaraoke (Android) 통합

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-07-24 17:07:53

컴포넌트 개요

TUIKaraoke는 오픈 소스 오디오/비디오 UI 컴포넌트입니다. 프로젝트에 통합하고 몇 줄의 코드 작성만으로 애플리케이션에 온라인 노래방 시나리오를 추가하여 노래방, 좌석 관리, 선물 주고받기, 문자 채팅과 같은 TRTC 기능을 체험해 볼 수 있습니다. iOS 플랫폼도 지원합니다. 기본 기능은 다음과 같습니다.




컴포넌트 통합

1단계: TUIKaraoke 컴포넌트 다운로드 및 가져오기

GitHub으로 이동하여 코드를 복제 또는 다운로드하고 Android 디렉터리의 Source 및 Debug 디렉터리를 프로젝트에 복사하고 다음 가져오기 작업을 완료합니다.
아래와 같이 setting.gradle에서 가져오기를 완료합니다.
include ':Source'
include ':Debug'
app의 build.gradle 파일에 TUIKaraoke에 대한 종속성을 추가합니다.
api project(':Source')
루트 디렉터리의 build.gradle 파일에 TRTC SDKIM SDK에 대한 종속성을 추가합니다.
ext {
liteavSdk = "com.tencent.liteav:LiteAVSDK_TRTCl:latest.release"
imSdk = "com.tencent.imsdk:imsdk-plus:latest.release"
}

2단계: 권한 요청 및 난독화 규칙 구성

AndroidManifest.xml에서 App에 대한 권한 요청을 구성합니다. SDK에는 다음 권한이 필요합니다(Android 6.0 이상에서는 런타임 시 마이크 액세스 및 저장소 읽기 권한을 요청해야 함).
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> // 사용 사례: 이 권한은 플로팅 창에 필요;
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.BLUETOOTH" /> // 사용 사례: 블루투스 헤드셋 사용 시 이 권한이 필요함;
proguard-rules.pro 파일에서 SDK 클래스를 난독화 금지 목록에 추가합니다.
-keep class com.tencent.** { *; }

3단계: 컴포넌트 초기화 및 로그인

관련 API에 대한 자세한 내용은 TUIKaraoke를 참고하십시오.
// 1. 초기화
TRTCKaraokeRoom mTRTCKaraokeRoom = TRTCKaraokeRoom.sharedInstance(this);
mTRTCKaraokeRoom.setDelegate(this);
// 2. 로그인
mTRTCKaraokeRoom.login(SDKAppID, UserID, UserSig, new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//로그인 성공
}
}
});
매개변수 설명:
SDKAppID: TRTC 애플리케이션 ID입니다. TRTC 서비스를 활성화하지 않은 경우 TRTC 콘솔에 로그인하여 TRTC 애플리케이션을 생성하고 애플리케이션 정보를 클릭합니다. SDKAppID는 아래와 같습니다.


Secretkey: SDKAppID에 해당하는 TRTC 애플리케이션 키입니다. TRTC 콘솔의 TRTC 애플리케이션 관리 페이지에서 SecretKey는 아래와 같습니다.
userId: 문자열이며 최대 32바이트의 문자와 숫자를 포함할 수 있는 현재 사용자 ID입니다(특수 기호는 지원되지 않음). 실제 계정 시스템에 따라 사용자 정의할 수 있습니다.
userSig: SDKAppID, userId 및 Secretkey를 기반으로 계산된 보안 보호 서명입니다. 여기를 클릭하여 디버깅 userSig를 온라인으로. 자세한 내용은 UserSig를 참고하십시오.

4단계: 온라인 노래방 시나리오 구현

1. 앵커는 TUIKaraoke.createRoom을 통해 방을 만듭니다.
int roomId = "방 ID";
TRTCKaraokeRoomDef.RoomParam roomParam = new TRTCKaraokeRoomDef.RoomParam();
roomParam.roomName = "방 이름";
roomParam.needRequest = false; // 마이크 연결 시 방 주인 확인 필요 여부
roomParam.seatCount = 8; // 방의 좌석 수. 8개로 설정
roomParam.coverUrl = "방 표지 이미지의 URL";
mTRTCKaraokeRoom.createRoom(roomId, roomParam, new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//방 생성 성공
}
}
});
2. 청취자는 TUIKaraoke.enterRoom을 통해 방에 들어갑니다.
mTRTCKaraokeRoom.enterRoom(roomId, new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//방 들어가기 성공
}
}
});
3. 청취자는 TUIKaraoke.enterSeat를 통해 마이크를 켭니다.
// 1. 청취자가 마이크를 켜기 위해 API 호출
int seatIndex = 1;
mTRTCKaraokeRoom.enterSeat(seatIndex, new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//마이크 활성화 성공
}
}
});
// 2. 청취자는 onSeatListChange 콜백을 수신하고 좌석 목록을 새로고침함
@Override
public void onSeatListChange(final List<TRTCKaraokeRoomDef.SeatInfo> seatInfoList) {
}
설명:
TRTCKaraoke(Android) 또는 TUIKaraoke 데모 프로젝트를 참고하여 다른 좌석 관리 작업을 구현할 수 있습니다.
4. 노래를 재생하고 노래방 시나리오를 체험합니다. 음악 ID와 URL을 가져와 비즈니스에 따라 노래를 재생할 수 있습니다. 자세한 내용은 TUIKaraoke 음악 재생 API를 참고하십시오.
//음악 재생
mTRTCKaraokeRoom.startPlayMusic(musicID,url);
//음악 중지
mTRTCKaraokeRoom.stopPlayMusic();
이전 단계를 완료한 후 기본 노래방 기능을 구현할 수 있습니다. 비즈니스에 문자 채팅 및 선물하기 등 더 많은 기능이 필요한 경우 다음 기능을 통합할 수 있습니다.

5단계: 텍스트 채팅 기능 추가(옵션)

앵커와 청취자 간의 텍스트 채팅 기능을 원하시면 다음과 같이 메시지 송수신을 구현하십시오. 관련 API에 대한 자세한 내용은 TRTCKaraokeRoom.sendRoomTextMsg를 참고하십시오.
// 발신측: 텍스트 메시지 발송
mTRTCKaraokeRoom.sendRoomTextMsg("Hello Word!", new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//전송 성공
}
}
});
// 수신측: 텍스트 메시지 수신
mTRTCKaraokeRoom.setDelegate(new TRTCKaraokeRoomDelegate() {
@Override
public void onRecvRoomTextMsg(String message, TRTCKaraokeRoomDef.UserInfo userInfo) {
Log.d(TAG, userInfo.userName + "님이 발송한 메시지:" + message);
}
});

6단계: 선물하기 기능 추가(옵션)

선물 주고받기 기능을 원하시면 다음과 같이 선물하기, 받기, 표시를 구현하십시오.
// 발신측: 선물 메시지를 구별하기 위해 "CMD_GIFT"를 사용자 정의합니다.
mTRTCKaraokeRoom.sendRoomCustomMsg("CMD_GIFT",date, new TRTCKaraokeRoomCallback.ActionCallback() {
@Override
public void onCallback(int code, String msg) {
if (code == 0) {
//전송 성공
}
}
});

// 수신측: 선물 메시지 수신
mTRTCKaraokeRoom.setDelegate(new TRTCKaraokeRoomDelegate() {
@Override
public void onRecvRoomCustomMsg(String cmd, String message, TRTCKaraokeRoomDef.UserInfo userInfo) {
if ("CMD_GIFT".equals(cmd)) {
// 선물 메시지 수신
Log.d(TAG, userInfo.userName + "님이 보낸" + "선물을 받았습니다." + message);
}
}
});

FAQ

TUIKaraoke 컴포넌트는 음성 변경, 톤 변경 및 리버브와 같은 음향 효과 기능을 지원합니까?

지원합니다.
설명
요구 사항이나 피드백이 있는 경우 colleenyu@tencent.com으로 문의하십시오.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백