NERtc Windows SDK
nertc_engine_ex.h
Go to the documentation of this file.
1 
9 #ifndef NERTC_ENGINE_EX_H
10 #define NERTC_ENGINE_EX_H
11 
12 #include "nertc_base.h"
13 #include "nertc_base_types.h"
14 #include "nertc_engine_defines.h"
17 #include "nertc_engine.h"
18 
23 namespace nertc
24 {
29 class IRtcEngineEx : public IRtcEngine
30 {
31 public:
32  virtual ~IRtcEngineEx() {}
33 
39 
54  virtual int muteLocalAudioStream(bool mute) = 0;
55 
69  virtual int setAudioProfile(NERtcAudioProfileType profile, NERtcAudioScenarioType scenario) = 0;
70 
85  virtual int setAudioEffectPreset(NERtcVoiceChangerType type) = 0;
86 
100 
115  virtual int setLocalVoicePitch(double pitch) = 0;
116 
128  virtual int setLocalVoiceEqualization(NERtcVoiceEqualizationBand band_frequency, int band_gain) = 0;
129 
147  virtual int subscribeRemoteAudioStream(uid_t uid, bool subscribe) = 0;
148 
160  virtual int setVideoConfig(const NERtcVideoConfig& config) = 0;
161 
178  virtual int enableDualStreamMode(bool enable) = 0;
179 
189  virtual int setupLocalSubStreamVideoCanvas(NERtcVideoCanvas* canvas) = 0;
190 
202  virtual int setLocalRenderMode(NERtcVideoScalingMode scaling_mode) = 0;
203 
215  virtual int setLocalSubStreamRenderMode(NERtcVideoScalingMode scaling_mode) = 0;
216 
226  virtual int setLocalVideoMirrorMode(NERtcVideoMirrorMode mirror_mode) = 0;
227 
238  virtual int setRemoteRenderMode(uid_t uid, NERtcVideoScalingMode scaling_mode) = 0;
239 
255  virtual int setupRemoteSubStreamVideoCanvas(uid_t uid, NERtcVideoCanvas* canvas) = 0;
256 
272  virtual int subscribeRemoteVideoSubStream(uid_t uid, bool subscribe) = 0;
273 
284  virtual int setRemoteSubSteamRenderMode(uid_t uid, NERtcVideoScalingMode scaling_mode) = 0;
285 
298  virtual int startVideoPreview() = 0;
299 
308  virtual int stopVideoPreview() = 0;
309 
328  virtual int muteLocalVideoStream(bool mute) = 0;
329 
338  virtual int setParameters(const char* parameters) = 0;
339 
355 
371 
372 
388  virtual int setMixedAudioFrameParameters(int sample_rate) = 0;
389 
400  virtual int setAudioFrameObserver(INERtcAudioFrameObserver *observer) = 0;
401 
408  virtual int startAudioDump() = 0;
415  virtual int stopAudioDump() = 0;
416 
433  virtual int startAudioMixing(NERtcCreateAudioMixingOption *option) = 0;
434 
443  virtual int stopAudioMixing() = 0;
444 
453  virtual int pauseAudioMixing() = 0;
454 
463  virtual int resumeAudioMixing() = 0;
464 
475  virtual int setAudioMixingSendVolume(uint32_t volume) = 0;
476 
487  virtual int getAudioMixingSendVolume(uint32_t *volume) = 0;
488 
499  virtual int setAudioMixingPlaybackVolume(uint32_t volume) = 0;
500 
511  virtual int getAudioMixingPlaybackVolume(uint32_t *volume) = 0;
512 
523  virtual int getAudioMixingDuration(uint64_t *duration) = 0;
524 
535  virtual int getAudioMixingCurrentPosition(uint64_t *position) = 0;
536 
547  virtual int setAudioMixingPosition(uint64_t seek_position) = 0;
548 
565  virtual int playEffect(uint32_t effect_id, NERtcCreateAudioEffectOption *option) = 0;
566 
577  virtual int stopEffect(uint32_t effect_id) = 0;
578 
585  virtual int stopAllEffects() = 0;
586 
597  virtual int pauseEffect(uint32_t effect_id) = 0;
598 
609  virtual int resumeEffect(uint32_t effect_id) = 0;
610 
619  virtual int pauseAllEffects() = 0;
620 
629  virtual int resumeAllEffects() = 0;
630 
642  virtual int setEffectSendVolume(uint32_t effect_id, uint32_t volume) = 0;
654  virtual int getEffectSendVolume(uint32_t effect_id, uint32_t *volume) = 0;
655 
667  virtual int setEffectPlaybackVolume(uint32_t effect_id, uint32_t volume) = 0;
668 
680  virtual int getEffectPlaybackVolume(uint32_t effect_id, uint32_t *volume) = 0;
681 
689  virtual int startSystemAudioLoopbackCapture() = 0;
690 
698  virtual int stopSystemAudioLoopbackCapture() = 0;
699 
710  virtual int setSystemAudioLoopbackCaptureVolume(uint32_t volume) = 0;
711 
725  virtual int enableEarback(bool enabled, uint32_t volume) = 0;
726 
737  virtual int setEarbackVolume(uint32_t volume) = 0;
738 
747  virtual int setStatsObserver(IRtcMediaStatsObserver *observer) = 0;
748 
762  virtual int enableAudioVolumeIndication(bool enable, uint64_t interval) = 0;
763 
782  virtual int startScreenCaptureByScreenRect(const NERtcRectangle& screen_rect, const NERtcRectangle& region_rect, const NERtcScreenCaptureParameters& capture_params) = 0;
783 
801  virtual int startScreenCaptureByDisplayId(unsigned int display_id, const NERtcRectangle& region_rect, const NERtcScreenCaptureParameters& capture_params) = 0;
802 
821  virtual int startScreenCaptureByWindowId(void *window_id, const NERtcRectangle& region_rect, const NERtcScreenCaptureParameters& capture_params) = 0;
822 
830  virtual int updateScreenCaptureRegion(const NERtcRectangle& region_rect) = 0;
831 
840  virtual int stopScreenCapture() = 0;
841 
848  virtual int pauseScreenCapture() = 0;
849 
856  virtual int resumeScreenCapture() = 0;
857 
858 
873  virtual int setExternalVideoSource(bool enabled) = 0;
874 
887  virtual int pushExternalVideoFrame(NERtcVideoFrame* frame) = 0;
888 
889 
912  virtual int setExternalAudioSource(bool enabled, int sample_rate, int channels) = 0;
913 
931  virtual int pushExternalAudioFrame(NERtcAudioFrame* frame) = 0;
932 
957  virtual int setExternalAudioRender(bool enabled, int sample_rate, int channels) = 0;
958 
977  virtual int pullExternalAudioFrame(void* data, int len) = 0;
978 
986  virtual const char* getVersion(int* build) = 0;
987 
996  virtual const char* getErrorDescription(int error_code) = 0;
997 
1004  virtual void uploadSdkInfo() = 0;
1005 
1017  virtual int addLiveStreamTask(const NERtcLiveStreamTaskInfo& info) = 0;
1018 
1028  virtual int updateLiveStreamTask(const NERtcLiveStreamTaskInfo& info) = 0;
1029 
1040  virtual int removeLiveStreamTask(const char* task_id) = 0;
1041 
1063  virtual int sendSEIMsg(const char* data, int length, NERtcStreamChannelType type) = 0;
1064 
1086  virtual int sendSEIMsg(const char* data, int length) = 0;
1087 };
1088 
1089 } //namespace nertc
1090 
1091 #endif
virtual int startScreenCaptureByWindowId(void *window_id, const NERtcRectangle &region_rect, const NERtcScreenCaptureParameters &capture_params)=0
virtual int getAudioMixingDuration(uint64_t *duration)=0
virtual int getAudioMixingSendVolume(uint32_t *volume)=0
virtual int setLocalVoicePitch(double pitch)=0
virtual NERtcConnectionStateType getConnectionState()=0
virtual int pushExternalVideoFrame(NERtcVideoFrame *frame)=0
virtual int enableDualStreamMode(bool enable)=0
virtual int setVideoConfig(const NERtcVideoConfig &config)=0
virtual int setRemoteRenderMode(uid_t uid, NERtcVideoScalingMode scaling_mode)=0
NERTC SDK回调接口头文件。 NERTC SDK所有接口参数说明: 所有与字符串相关的参数(char *)全部为UTF-8编码。 ...
NERtcConnectionStateType
Definition: nertc_engine_defines.h:497
virtual int setSystemAudioLoopbackCaptureVolume(uint32_t volume)=0
virtual int setAudioMixingPosition(uint64_t seek_position)=0
virtual const char * getErrorDescription(int error_code)=0
virtual int resumeEffect(uint32_t effect_id)=0
NERtcStreamChannelType
Definition: nertc_engine_defines.h:1082
virtual int setLocalRenderMode(NERtcVideoScalingMode scaling_mode)=0
NERtcAudioScenarioType
Definition: nertc_engine_defines.h:330
virtual int setEarbackVolume(uint32_t volume)=0
Definition: nertc_engine_defines.h:880
Definition: nertc_engine_defines.h:905
NERtcVoiceEqualizationBand
Definition: nertc_engine_defines.h:372
virtual const char * getVersion(int *build)=0
virtual int startSystemAudioLoopbackCapture()=0
Definition: nertc_engine_defines.h:271
virtual int setStatsObserver(IRtcMediaStatsObserver *observer)=0
virtual int updateLiveStreamTask(const NERtcLiveStreamTaskInfo &info)=0
virtual int setRemoteSubSteamRenderMode(uid_t uid, NERtcVideoScalingMode scaling_mode)=0
NERtcAudioProfileType
Definition: nertc_engine_defines.h:318
virtual int setLocalSubStreamRenderMode(NERtcVideoScalingMode scaling_mode)=0
virtual int muteLocalVideoStream(bool mute)=0
virtual int setLocalVideoMirrorMode(NERtcVideoMirrorMode mirror_mode)=0
Definition: nertc_engine_media_stats_observer.h:25
virtual int startVideoPreview()=0
virtual int subscribeRemoteVideoSubStream(uid_t uid, bool subscribe)=0
NERtcVideoScalingMode
Definition: nertc_engine_defines.h:481
virtual int pullExternalAudioFrame(void *data, int len)=0
virtual int setEffectSendVolume(uint32_t effect_id, uint32_t volume)=0
virtual int startScreenCaptureByDisplayId(unsigned int display_id, const NERtcRectangle &region_rect, const NERtcScreenCaptureParameters &capture_params)=0
Definition: nertc_engine_ex.h:29
virtual int getEffectSendVolume(uint32_t effect_id, uint32_t *volume)=0
virtual int setExternalAudioSource(bool enabled, int sample_rate, int channels)=0
virtual int enableAudioVolumeIndication(bool enable, uint64_t interval)=0
virtual int startAudioDump()=0
NERtc SDK的一些定义
virtual int updateScreenCaptureRegion(const NERtcRectangle &region_rect)=0
virtual int setEffectPlaybackVolume(uint32_t effect_id, uint32_t volume)=0
Definition: nertc_engine_defines.h:897
virtual int setVoiceBeautifierPreset(NERtcVoiceBeautifierType type)=0
virtual int pauseAllEffects()=0
virtual int stopAudioMixing()=0
virtual int stopScreenCapture()=0
Definition: nertc_engine_defines.h:998
virtual void uploadSdkInfo()=0
virtual int pushExternalAudioFrame(NERtcAudioFrame *frame)=0
virtual int setMixedAudioFrameParameters(int sample_rate)=0
virtual int setAudioFrameObserver(INERtcAudioFrameObserver *observer)=0
定义导出宏。该文件只定义导出宏,不定义其他任何东西!
virtual int setAudioMixingSendVolume(uint32_t volume)=0
namespace nertc
NERtcVideoMirrorMode
Definition: nertc_engine_defines.h:489
virtual int subscribeRemoteAudioStream(uid_t uid, bool subscribe)=0
virtual int stopSystemAudioLoopbackCapture()=0
Definition: nertc_engine_defines.h:819
Definition: nertc_engine_defines.h:1029
virtual int stopAudioDump()=0
virtual int getAudioMixingCurrentPosition(uint64_t *position)=0
virtual int setAudioEffectPreset(NERtcVoiceChangerType type)=0
virtual int setupLocalSubStreamVideoCanvas(NERtcVideoCanvas *canvas)=0
virtual int stopAllEffects()=0
virtual int muteLocalAudioStream(bool mute)=0
virtual int resumeScreenCapture()=0
Definition: nertc_engine_defines.h:697
virtual int stopEffect(uint32_t effect_id)=0
NERTC SDK接口头文件。 NERTC SDK所有接口参数说明: 所有与字符串相关的参数(char *)全部为UTF-8编码。 ...
Definition: nertc_engine.h:40
Definition: nertc_engine_defines.h:788
virtual int setAudioMixingPlaybackVolume(uint32_t volume)=0
Definition: nertc_engine_defines.h:970
virtual int sendSEIMsg(const char *data, int length, NERtcStreamChannelType type)=0
SDK基本类型定义
virtual int resumeAudioMixing()=0
virtual int setParameters(const char *parameters)=0
virtual int startAudioMixing(NERtcCreateAudioMixingOption *option)=0
virtual int stopVideoPreview()=0
NERTC SDK回调扩展接口头文件。 NERTC SDK所有接口参数说明: 所有与字符串相关的参数(char *)全部为UTF-8编...
virtual int setExternalVideoSource(bool enabled)=0
virtual int setPlaybackAudioFrameParameters(NERtcAudioFrameRequestFormat *format)=0
NERtcVoiceChangerType
Definition: nertc_engine_defines.h:343
virtual int resumeAllEffects()=0
virtual int setExternalAudioRender(bool enabled, int sample_rate, int channels)=0
virtual int removeLiveStreamTask(const char *task_id)=0
virtual int setupRemoteSubStreamVideoCanvas(uid_t uid, NERtcVideoCanvas *canvas)=0
virtual int getEffectPlaybackVolume(uint32_t effect_id, uint32_t *volume)=0
virtual int pauseScreenCapture()=0
virtual int playEffect(uint32_t effect_id, NERtcCreateAudioEffectOption *option)=0
virtual int setRecordingAudioFrameParameters(NERtcAudioFrameRequestFormat *format)=0
virtual int pauseEffect(uint32_t effect_id)=0
virtual int setAudioProfile(NERtcAudioProfileType profile, NERtcAudioScenarioType scenario)=0
virtual int setLocalVoiceEqualization(NERtcVoiceEqualizationBand band_frequency, int band_gain)=0
virtual int pauseAudioMixing()=0
Definition: nertc_engine_defines.h:833
uint64_t uid_t
Definition: nertc_engine_defines.h:30
virtual int enableEarback(bool enabled, uint32_t volume)=0
virtual int getAudioMixingPlaybackVolume(uint32_t *volume)=0
virtual int startScreenCaptureByScreenRect(const NERtcRectangle &screen_rect, const NERtcRectangle &region_rect, const NERtcScreenCaptureParameters &capture_params)=0
virtual int addLiveStreamTask(const NERtcLiveStreamTaskInfo &info)=0
NERtcVoiceBeautifierType
Definition: nertc_engine_defines.h:356