void JoinChannel()
        {
            _audioRawDataManager = AudioRawDataManager.GetInstance(mRtcEngine);
            _audioRawDataManager.RegisterAudioRawDataObserver();

            mRtcEngine.SetParameter("che.audio.external_render", true);
            mRtcEngine.JoinChannelByKey(TOKEN, CHANNEL_NAME, "", 0);
        }
예제 #2
0
        void SetupAudio(AudioSource aud, string clipName)
        {
            _audioRawDataManager = AudioRawDataManager.GetInstance(mRtcEngine);
            Debug.Assert(_audioRawDataManager.RegisterAudioRawDataObserver() == 0, "Error registering audio rawdata observer!");
            mRtcEngine.SetParameter("che.audio.external_render", true);

            var bufferLength = SAMPLE_RATE / PULL_FREQ_PER_SEC * CHANNEL * 1000; // 10-sec-length buffer

            audioBuffer = new RingBuffer <float>(bufferLength);

            _audioClip = AudioClip.Create(clipName,
                                          CLIP_SAMPLES,
                                          CHANNEL, SAMPLE_RATE, true,
                                          OnAudioRead);
            aud.clip = _audioClip;
            aud.loop = true;
            aud.Play();
        }