agora.io Voice, Real-time Messaging SDK를 사용한 구현 사례(온라인 가라오케)

12096 단어 AndroidAgora.io

agora.io SDK를 사용한 마이크 ON/OFF 설치 예


본 샘플은agora입니다.io의 Voice SDK, Real-time Messaging SDK에서 구현됩니다.
개요는 마이크 제어 역할 호스트 측, 요청 마이크 오디오 측으로 나뉜다
각 요청마다 마이크를 제어하는 ON/OFF의 예입니다.
(온라인 가라오케용)
얘가 Github한테 공개를 해요.

구현 이미지



마이크 요청 시 메시지 처리는agora입니다.io Real-time Messaging SDK에서 구현됩니다.
마이크의 ON/OFF는 agora입니다.io VoiceSDK에서 구현됩니다.

기능 목록


[호스트 측/시청자 측 공통]
로그인 및 로그아웃
/진입로 및 이탈로
호스트 및 시청자 선택
음질의 설정
호스트 측
• 오디오 센터에서 마이크 요청 받기
· 관중 거점에 대한 마이크 허가
· 본 거점(호스트)의 마이크 ON/OFF
[시청자 측]
/호스트 측에 마이크 요청 보내기
/호스트 측 허용 마이크 ON/OFF

개발 환경


・Android Studio(Java)
・agora.io VoiceSDK
・Real-time Messaging SDK

RTM SDK 구현 사례(메시지 처리)


agora.이것은 io Real-time Messaging SDK에 로그인하여 메시지를 교환하는 예입니다.
이 예시의 메시지 교환 (마이크의 요청 시 메시지 처리) 은 다음 그림과 같습니다.

인스턴스 생성

mRtmClient = RtmClient.createInstance(getBaseContext(), getString(R.string.agora_app_id), new RtmClientListener(){

서비스에 연결

mRtmClient.login(null, login_name + mUid, new ResultCallback<Void>() {

진입 통로

mRtmChannel = mRtmClient.createChannel(channel, new MyChannelListener());
mRtmChannel.join(new ResultCallback<Void>() {

메시지 보내기

RtmMessage message = mRtmClient.createMessage();
message.setText(Please unmute);
mRtmChannel.sendMessage(message, new ResultCallback<Void>() {

메시지 수신

class MyChannelListener implements RtmChannelListener {
   @Override
   public void onMessageReceived(final RtmMessage message, final RtmChannelMember fromMember) {

       String account = fromMember.getUserId();
       String msg = message.getText();
       //Please unmute//
       if (getString(R.string.msg_unmute).equals(arrMsg[0])) {
           //リクエスト文字を画面に表示
           txReq =  (TextView) findViewById(R.id.textReq3);
           txReq.setText(getString(R.string.msg_unmute));
       }

       //You can unmute
       if (getString(R.string.msg_can_unmute).equals(arrMsg[0])) {
           //マイクをON
           doVoiceLocalMute(false);
       }
   }
}
※ 메시지를 받으면 onMessageReceived로 다시 이동합니다.
원본 구성원은 원본 구성원 정보를 포함하고, 메시지는 수신 메시지를 포함한다.
※ 정보의 내용을 받아 구분하여 처리합니다.

Voice SDK 설치 예제(사운드 마이크 ON/OFF)


agora.io voice SDK로 로그인, 음질 설정, 마이크 ON/OFF 샘플

인스턴스 생성

mRtcEngine = RtcEngine.create(getBaseContext(), appId, mRtcEventHandler);

채널 프로필 설정

mRtcEngine.setChannelProfile(Constants.CHANNEL_PROFILE_COMMUNICATION);

오디오 프로필 설정

mRtcEngine.setAudioProfile(Constants.AUDIO_PROFILE_MUSIC_STANDARD,Constants.AUDIO_SCENARIO_SHOWROOM);
※ 첫 번째 매개 변수로 안내서, 두 번째 매개 변수로 시나리오를 선택합니다.

진입 통로

mRtcEngine.joinChannel(null, channel, null, HOST_UID);

마이크의 ON / OFF

mRtcEngine.muteLocalAudioStream(true);
※ 마이크가 꺼지면 true, 마이크가 켜지면 false.

동작 확인


동작 확인해봐.

1. 초기 표시


PC와 Android 장치 USB를 연결하고 AndroidStudio에서 실행 단추를 누르면 시작합니다.구성이 완료되면 Android 장치에 화면이 표시됩니다.
(호스트 측, 시청자 측)

2. 로그인


2-1. 호스트 측


1. (호스트 측) "host"검사 ON 상태에서 "LOGIN"단추를 누르십시오.
2. (호스트 측) 오디오 프로필은 프로필입니다: MUSIC_각각 STANDARD, 스크립트:"SHORWROOM"을 선택합니다.
3. (호스트 측) JOIN 버튼을 클릭합니다.
(호스트 측)

2-2. 관중측


1. (시청자 측) "host"체크 상자를 OFF 상태로 설정하고 호스트 측과 같은 순서로 방에 들어갑니다.
※ 같은 거점 2곳의 관중이 방에 들어왔다.
(관객 측)

※ 이때 호스트 사이드 마이크 ON, 오디오 사이드 마이크 OFF만 사용할 수 있습니다.

3. 마이크 요청


3-1.관중측

  • 마이크를 요청하려면 SENDMESSAGE(UNMUTE) 버튼을 클릭합니다
  • (관객 측)

    3-2.호스트 측


    1. 현장에서 마이크 요청을 받습니다.
    호스트 측면에 "Please unmute"가 표시됩니다.
    (호스트 측)

    4. 마이크 허용


    4-1.호스트 측

  • UNMUTE 버튼을 클릭하여 시청자 측 마이크를 허용합니다
  • (호스트 측) 오디오 측으로부터 완료 메시지(unMuted)를 받고 "unMuted"를 표시합니다.
    ※ 이때 본체 측, 시청자 측(58841) 2개 거점이 마이크 ON으로 바뀝니다
  • (호스트 측) 필요한 경우 호스트가 자신의 마이크를 닫습니다.
    ※ 오디오 측면(58841)만 마이크를 켭니다
  • (호스트 측)

    4-2.관중측

  • 호스트에서 라이센스 메시지(You can unmute)를 받고 이 거점의 마이크를 ON으로 설정합니다
  • (관객 측)

    5. 체크아웃 및 체크아웃


    (호스트 측면, 오디오 측면) LEAVE 버튼을 클릭하고 나가십시오.(동시에 로그아웃)

    마지막


    agora.IO에 대한 문의는 여기서부터.

    좋은 웹페이지 즐겨찾기