void JoinChannel() { _audioRawDataManager = AudioRawDataManager.GetInstance(mRtcEngine); _audioRawDataManager.RegisterAudioRawDataObserver(); mRtcEngine.SetParameter("che.audio.external_render", true); mRtcEngine.JoinChannelByKey(TOKEN, CHANNEL_NAME, "", 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(); }