void JoinChannel() { _audioRawDataManager = AudioRawDataManager.GetInstance(mRtcEngine); _audioRawDataManager.RegisterAudioRawDataObserver(); mRtcEngine.SetParameter("che.audio.external_render", true); mRtcEngine.JoinChannelByKey(TOKEN, CHANNEL_NAME, "", 0); }
public void Initialize() { _rtcEngine = IRtcEngine.QueryEngine(); if (_rtcEngine != null) { _audioRawDataManager = AudioRawDataManager.GetInstance(_rtcEngine); _initialized = true; } else { _initialized = false; } }
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(); }
void StartPullAudioFrame(AudioSource aud, string clipName) { _audioRawDataManager = AudioRawDataManager.GetInstance(mRtcEngine); var bufferLength = SAMPLE_RATE / PULL_FREQ_PER_SEC * CHANNEL * 1000; // 10-sec-length buffer audioBuffer = new RingBuffer <float>(bufferLength); _pullAudioFrameThread = new Thread(PullAudioFrameThread); _pullAudioFrameThread.Start(); _audioClip = AudioClip.Create(clipName, SAMPLE_RATE / PULL_FREQ_PER_SEC * CHANNEL, CHANNEL, SAMPLE_RATE, true, OnAudioRead); aud.clip = _audioClip; aud.loop = true; aud.Play(); }