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

            mRtcEngine.SetParameter("che.audio.external_render", true);
            mRtcEngine.JoinChannelByKey(TOKEN, CHANNEL_NAME, "", 0);
        }
コード例 #2
0
        public void Initialize()
        {
            _rtcEngine = IRtcEngine.QueryEngine();

            if (_rtcEngine != null)
            {
                _audioRawDataManager = AudioRawDataManager.GetInstance(_rtcEngine);
                _initialized         = true;
            }
            else
            {
                _initialized = false;
            }
        }
コード例 #3
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();
        }
コード例 #4
0
        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();
        }