/** 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); }
public int SetOnPlaybackAudioFrameBeforeMixingCallback(OnPlaybackAudioFrameBeforeMixingHandler action) { if (_irtcEngine == null) { return(-7); } if (action == null) { OnPlaybackAudioFrameBeforeMixing = null; initEventOnPlaybackAudioFrameBeforeMixing(null); } else { OnPlaybackAudioFrameBeforeMixing = action; initEventOnPlaybackAudioFrameBeforeMixing(OnPlaybackAudioFrameBeforeMixingCallback); } return(0); }