Exemplo n.º 1
0
        /** Listens for the {@link agora_gaming_rtc.AudioRawDataManager.OnPlaybackAudioFrameBeforeMixingHandler OnPlaybackAudioFrameBeforeMixingHandler} delegate.
         *
         * @note
         * - Call this method before calling {@link agora_gaming_rtc.AudioRawDataManager.RegisterAudioRawDataObserver RegisterAudioRawDataObserver}.
         * - If you want to unregister the `OnPlaybackAudioFrameBeforeMixingHandler` delegate, call {@link agora_gaming_rtc.AudioRawDataManager.UnRegisterAudioRawDataObserver UnRegisterAudioRawDataObserver} before calling this method, and set `action` as `null` when calls this method.
         *
         * @param action The implementation of the `OnPlaybackAudioFrameBeforeMixingHandler` delegate.
         *
         * @return
         * - 0: Success.
         * - < 0: Failure.
         */
        public override int SetOnPlaybackAudioFrameBeforeMixingCallback(OnPlaybackAudioFrameBeforeMixingHandler action)
        {
            if (_irtcEngine == null)
            {
                return((int)ERROR_CODE.ERROR_NOT_INIT_ENGINE);
            }

            if (action == null)
            {
                OnPlaybackAudioFrameBeforeMixing = null;
                IRtcEngineNative.initEventOnPlaybackAudioFrameBeforeMixing(null);
            }
            else
            {
                OnPlaybackAudioFrameBeforeMixing = action;
                IRtcEngineNative.initEventOnPlaybackAudioFrameBeforeMixing(OnPlaybackAudioFrameBeforeMixingCallback);
            }
            return((int)ERROR_CODE.ERROR_OK);
        }
Exemplo n.º 2
0
        public int SetOnPlaybackAudioFrameBeforeMixingCallback(OnPlaybackAudioFrameBeforeMixingHandler action)
        {
            if (_irtcEngine == null)
            {
                return(-7);
            }

            if (action == null)
            {
                OnPlaybackAudioFrameBeforeMixing = null;
                initEventOnPlaybackAudioFrameBeforeMixing(null);
            }
            else
            {
                OnPlaybackAudioFrameBeforeMixing = action;
                initEventOnPlaybackAudioFrameBeforeMixing(OnPlaybackAudioFrameBeforeMixingCallback);
            }
            return(0);
        }