NERtc iOS SDK V4.6.10
Class Methods | List of all members
NERtcEngine Class Reference

NERtcEngine class More...

#import <NERtcEngine.h>

Inheritance diagram for NERtcEngine:
<INERtcEngineEx> <INERtcEngine>

Class Methods

(instancetype) + sharedEngine
 Gets an NERtcEngine instance If you create an NERtcEngine instance, the instance remains the same before you destroy it by calling destroyEngine. More...
 
(int) + destroyEngine
 Destroys an NERtcEngine instance and releases the resources consumed by the instance. More...
 
(NSString *) + getVersion
 Checks the SDK version number. More...
 

Additional Inherited Members

- Instance Methods inherited from <INERtcEngineEx>
(int) - enableDualStreamMode:
 Enables or disables the dual-stream mode. More...
 
(int) - setLocalMediaPriority:preemptive:
 Sets the priority of media streams from a local user. More...
 
(int) - setLocalPublishFallbackOption:
 Sets the fallback option for the published local video stream based on the network conditions. More...
 
(int) - setRemoteSubscribeFallbackOption:
 Sets the fallback option for the subscribed remote audio and video stream with poor network connections. More...
 
(int) - muteLocalAudio:
 Stops or resumes publishing the local audio stream. More...
 
(int) - subscribeRemoteAudio:forUserID:
 Subscribes to or unsubscribes from audio streams from specified remote users. More...
 
(int) - subscribeAllRemoteAudio:
 Subscribes to or unsubscribes from audio streams from all remote users. More...
 
(int) - setAudioSubscribeOnlyBy:
 Sets the local audio stream can be subscribed by specified participants in a room. More...
 
(int) - enableLocalSubStreamAudio:
 Enables or disables the audio substream. More...
 
(int) - subscribeRemoteSubStreamAudio:forUserID:
 Subscribes or unsubscribes audio streams from specified remote users. More...
 
(int) - muteLocalSubStreamAudio:
 Mutes or unmutes the local upstream audio stream. More...
 
(int) - setExternalSubStreamAudioSource:sampleRate:channels:
 Enables or disables an external source input published over the audio substream. More...
 
(int) - pushExternalSubStreamAudioFrame:
 Pushes external audio source over the audio substream. More...
 
(int) - subscribeRemoteVideo:forUserID:streamType:
 Subscribes to or unsubscribes from video streams from specified remote users. More...
 
(int) - startPreview
 Enables video preview. More...
 
(int) - stopPreview
 Stops video preview. More...
 
(int) - setLocalRenderScaleMode:
 Sets the local video display mode. More...
 
(int) - setRemoteRenderScaleMode:forUserID:
 Sets the remote video display mode. More...
 
(int) - setVideoRotationMode:
 Sets the orientation mode for the local video. More...
 
(int) - muteLocalVideo:
 Stops or resumes publishing the local video stream. More...
 
(int) - setLoudspeakerMode:
 Enables or disables the audio playback route to the speakerphone. More...
 
(int) - getLoudspeakerMode:
 Checks whether the speakerphone is enabled. More...
 
(int) - startAudioDump
 Starts recording an audio dump file. More...
 
(int) - startAudioDumpWithType:
 Starts recording an audio dump file. More...
 
(int) - stopAudioDump
 Stops recording an audio dump file. More...
 
(int) - setRemoteHighPriorityAudioStream:forUserID:streamType:
 Sets a remote audio stream to high priority. More...
 
(int) - switchCameraWithPosition:
 
(int) - setExternalVideoSource:isScreen:
 Enables or disables the external video input source. More...
 
(int) - pushExternalVideoFrame:
 Publishes the external video frames. More...
 
(int) - setupLocalSubStreamVideoCanvas:
 Sets the local substream canvas. More...
 
(int) - startScreenCapture:
 Enables screen sharing. More...
 
(int) - stopScreenCapture
 Disables screen sharing with the substream transmission. More...
 
(int) - setLocalRenderSubStreamScaleMode:
 Sets the display mode of the local substream video for screen sharing. More...
 
(int) - setupRemoteSubStreamVideoCanvas:forUserID:
 Sets a remote substream canvas. More...
 
(int) - subscribeRemoteSubStreamVideo:forUserID:
 Subscribes to or unsubscribes from remote video substream for screen sharing. More...
 
(int) - setRemoteRenderSubStreamVideoScaleMode:forUserID:
 Sets the display mode of to remote substream video for screen sharing. More...
 
(int) - setAudioSessionOperationRestriction:
 Sets permissions of the SDK over Audio Session. More...
 
(int) - setPlayoutDeviceMute:
 Mutes or unmutes the audio playback device. More...
 
(int) - getPlayoutDeviceMute:
 Gets the mute status of the audio playback device. More...
 
(int) - setRecordDeviceMute:
 Mutes or unmutes the audio capture device. More...
 
(int) - getRecordDeviceMute:
 Checks whether the audio capture device is muted. More...
 
(BOOL) - isCameraZoomSupported
 Checks whether the camera zooming feature is supported. More...
 
(BOOL) - isCameraTorchSupported
 Checks whether the camera flash feature is supported. More...
 
(BOOL) - isCameraFocusSupported
 Checks whether the camera manual focus feature is supported. More...
 
(BOOL) - isCameraExposurePositionSupported
 Checks whether the camera exposure feature is supported. More...
 
(int) - setCameraExposurePosition:
 Sets the camera exposure position. More...
 
(int) - setCameraTorchOn:
 Enables or disables the camera flash feature. More...
 
(BOOL) - isCameraTorchOn
 Check whether the flash is turned on on the device. More...
 
(int) - setCameraZoomFactor:
 Sets the current camera zoom ratio. More...
 
(float) - maxCameraZoomScale
 Gets maximum zoom ratio supported by the camera. More...
 
(int) - setCameraFocusPositionX:Y:
 Sets the camera manual focus position. More...
 
(int) - setCameraCaptureConfig:
 Sets the camera capturer configuration. More...
 
(int) - startAudioMixingWithOption:
 Starts to play or mix the music file. More...
 
(int) - stopAudioMixing
 Stops playing or mixing the music file. More...
 
(int) - pauseAudioMixing
 Pauses playing and mixing the music file. More...
 
(int) - resumeAudioMixing
 The method resumes mixing audio playback and continues playing the mixing audio. More...
 
(int) - setAudioMixingSendVolume:
 Sets the publishing volume of the mixing audio. More...
 
(int) - getAudioMixingSendVolume:
 Gets the volume for publishing mixing audio. More...
 
(int) - setAudioMixingPlaybackVolume:
 Adjusts the volume of mixing audio for local playback. More...
 
(int) - getAudioMixingPlaybackVolume:
 Gets the playback volume of the mixing audio. More...
 
(int) - getAudioMixingDuration:
 Gets the duration of the mixing audio file. More...
 
(int) - getAudioMixingCurrentPosition:
 Gets the playback position of the mixing audio file. More...
 
(int) - setAudioMixingPosition:
 Sets the playback position of the mixing audio file to a different starting position. More...
 
(int) - playEffectWitdId:effectOption:
 Plays back a specified sound effect file. More...
 
(int) - stopEffectWitdId:
 Stops playing all sound effect files. More...
 
(int) - stopAllEffects
 Stops playing all sound effect files. More...
 
(int) - pauseEffectWitdId:
 Pauses playing a specified sound effect file. More...
 
(int) - resumeEffectWitdId:
 Resumes playing a specified sound effect file. More...
 
(int) - pauseAllEffects
 Pauses playing all sound effect files. More...
 
(int) - resumeAllEffects
 Resumes playing all sound effect files. More...
 
(int) - setEffectSendVolumeWithId:volume:
 Sets the publishing volume of a sound effect file. More...
 
(int) - getEffectSendVolumeWithId:volume:
 Gets the publishing volume of a specified sound effect file. More...
 
(int) - setEffectPlaybackVolumeWithId:volume:
 Sets the playback volume of the sound effect files. More...
 
(int) - getEffectPlaybackVolumeWithId:volume:
 Gets the playback volume of the sound effect files More...
 
(int) - getEffectDurationWithId:duration:
 Gets the duration of a sound effect file. More...
 
(int) - getEffectCurrentPositionWithId:position:
 Gets the playback position of a sound effect file. More...
 
(int) - enableEarback:volume:
 Enables the in-ear monitoring feature. More...
 
(int) - setEarbackVolume:
 Sets the volume for in-ear monitoring. More...
 
(int) - startAudioRecording:sampleRate:quality:
 Starts an audio recording from a client. More...
 
(int) - startAudioRecordingWithConfig:
 Starts an audio recording from a client. More...
 
(int) - stopAudioRecording
 Stops the audio recording on the client. More...
 
(int) - setExternalAudioSource:sampleRate:channels:
 Sets the external audio input source. More...
 
(int) - pushExternalAudioFrame:
 Publishes the external audio frame. More...
 
(int) - setExternalAudioRender:sampleRate:channels:
 Sets external audio rendering. More...
 
(int) - pullExternalAudioFrame:length:
 Pulls the external audio data. More...
 
(int) - addEngineMediaStatsObserver:
 Registers a stats observer. More...
 
(int) - removeEngineMediaStatsObserver:
 Removes the specified media stats observer. More...
 
(int) - cleanupEngineMediaStatsObserver
 Clears all media stats observers. More...
 
(int) - addLiveStreamTask:compeltion:
 Adds a streaming task in a room. More...
 
(int) - updateLiveStreamTask:compeltion:
 Updates a streaming task. More...
 
(int) - removeLiveStreamTask:compeltion:
 Deletes a streaming task. More...
 
(int) - setRecordingAudioFrameParameters:
 Sets the format of audio capture. More...
 
(int) - setPlaybackAudioFrameParameters:
 Sets the audio playback format. More...
 
(int) - setMixedAudioFrameParameters:
 Sets the format of the recording and mixing audio. More...
 
(int) - setAudioFrameObserver:
 Registers the audio observer. More...
 
(int) - enableAudioVolumeIndication:interval:
 Enables reporting users' volume indication. More...
 
(int) - enableAudioVolumeIndication:interval:vad:
 Enables volume indication for the speaker. More...
 
(int) - adjustRecordingSignalVolume:
 Adjusts the volume of captured signals. More...
 
(int) - adjustPlaybackSignalVolume:
 Adjusts the playback signal volume of all remote users. More...
 
(int) - adjustUserPlaybackSignalVolume:forUserID:
 Adjust the volume of local signal playback from a specified remote user. More...
 
(int) - setLocalVoicePitch:
 Sets the voice pitch of the local audio. More...
 
(int) - setLocalVoiceEqualizationOfBandFrequency:withGain:
 Sets the local voice equalization effect, or customizes center frequencies of the local voice effects. More...
 
(int) - setVoiceBeautifierPreset:
 Sets an SDK preset voice beautifier effect. More...
 
(int) - setAudioEffectPreset:
 Sets an SDK preset voice changer effect. More...
 
(int) - setLocalVoiceReverbParam:
 Sets the reverb effect for the local audio stream. More...
 
(int) - setLocalCanvasWatermarkConfigs:withStreamType:
 Adds a watermark image to the local video. More...
 
(int) - setRemoteCanvasWatermarkConfigs:forUserID:withStreamType:
 Adds a watermark to the remote video canvas. More...
 
(int) - setLocalVideoWatermarkConfigs:withStreamType:
 Sets a video watermark. More...
 
(int) - takeLocalSnapshot:callback:
 Takes a local video snapshot. More...
 
(int) - takeRemoteSnapshot:forUserID:callback:
 Takes a snapshot of a remote video. More...
 
(int) - uploadSdkInfo
 Uploads the SDK information. More...
 
(int) - sendSEIMsg:streamChannelType:
 Sends supplemental enhancement information (SEI) data through a specified mainstream or substream. More...
 
(int) - sendSEIMsg:
 Sends SEI data through the mainstream. More...
 
(int) - startChannelMediaRelay:
 Starts to relay media streams across rooms. More...
 
(int) - updateChannelMediaRelay:
 Updates the information of the destination room for media stream relay. More...
 
(int) - stopChannelMediaRelay
 Stops media stream relay across rooms. More...
 
(int) - enableSuperResolution:
 Enables or disables AI super resolution. More...
 
(int) - enableEncryption:config:
 Turns on or off media stream encryption. More...
 
(int) - startLastmileProbeTest:
 Starts the last-mile network probe test. More...
 
(int) - stopLastmileProbeTest
 Stops the last-mile network probe test. More...
 
(nullable NERtcChannel *) - createChannel:
 Create an IRtcChannel. More...
 
(int) - enableVideoCorrection:
 Check if video correction is enabled More...
 
(int) - setVideoCorrectionConfig:
 Sets the parameters for video correction. More...
 
(int) - enableVirtualBackground:backData:
 Enables/Disables the virtual background. More...
 
(int) - setCloudProxy:
 Sets the Agora cloud proxy service. More...
 
(void) - setStreamAlignmentProperty:
 Synchronizes the local time with the server time More...
 
(int64_t) - getNtpTimeOffset
 Gets the difference between the local time and the server time. More...
 
- Instance Methods inherited from <INERtcEngine>
(NERtcConnectionStateType- connectionState
 Gets the connection status. More...
 
(int) - setupEngineWithContext:
 Creates an NERtcEngine instance and initializes the NERTC SDK. More...
 
(int) - joinChannelWithToken:channelName:myUid:completion:
 Joins an RTC room. More...
 
(int) - leaveChannel
 Leaves a room, such as hanging up or ending a call. More...
 
(int) - switchChannelWithToken:channelName:completion:
 Switches to a different RTC room. More...
 
(int) - enableLocalAudio:
 Enables or disables local audio capture. More...
 
(int) - enableLocalVideo:
 Specifies whether to enable local video capture. More...
 
(int) - enableMediaPub:withMediaType:
 Publishes or unpublishes the local audio stream. More...
 
(int) - setChannelProfile:
 Sets a room scene. More...
 
(int) - setLocalVideoConfig:
 Sets the video encoding profile. More...
 
(int) - setAudioProfile:scenario:
 Sets the audio encoding profile. More...
 
(int) - setupLocalVideoCanvas:
 Sets the local view. More...
 
(int) - setupRemoteVideoCanvas:forUserID:
 Sets views for remote users. More...
 
(int) - switchCamera
 Switches between the front and rear cameras. More...
 
(int) - setClientRole:
 Sets the role of a user in live streaming. More...
 
(int) - setParameters:
 Sets parameters for audio and video calls. More...
 

Detailed Description

NERtcEngine class

Method Documentation

◆ destroyEngine

+ (int) destroyEngine

Destroys an NERtcEngine instance and releases the resources consumed by the instance.


This method frees up all resources used by the NERTC SDK. Some apps instantiate an NERtcEngine instance when making audio and video calls and release the instance after calls end.

  • The interface must be called after users invoke leaveChannel to leave a room and the relevant callback returns the notification for leaving the room. Alternatively, when clients receives notifications returned by the onNERtcEngineDidDisconnectWithReason: callback and reconnection fails, the interface can be called to destroy the instance and release resources.
  • If you call destroyEngine, you are unable to invoke other methods or callbacks supported by the SDK. To make audio and video calls again, you must wait until the destroyEngine method is implemented completely and create a new NERtc instance.
    Note
  • The method is called synchronously. You must wait until the resources consumed by the NERtcEngine instance are released. Then perform other operations. We recommend you implement the method in a child thread to avoid blocking the main thread. We recommend you not call destroy in a callback. Otherwise, a deadlock may occur because the SDK must wait for the callback to return before recycling related resources.
  • The interface cannot be called in a callback. No interfaces can be called before the return of the interface.
  • To create a new NERtcEngine instance and call APIs after an instance is destroyed, you must wait until the destroyEngine method is implemented completely. Then, callsharedEngine to create a new NERtcEngine instance and initialize the SDK by calling setupEngineWithContext.

◆ getVersion

+ (NSString *) getVersion

Checks the SDK version number.

You can call this method before or after you join a room.

Since
V4.6.10
Returns
version number in string format, such as 1.0.0.

◆ sharedEngine

+ (instancetype) sharedEngine

Gets an NERtcEngine instance If you create an NERtcEngine instance, the instance remains the same before you destroy it by calling destroyEngine.

Returns
NERtcEngine instance

The documentation for this class was generated from the following file: