继承自 agora_gaming_rtc.IRtcEngineNative .
静态 Public 成员函数 | |
static string | GetSdkVersion () |
static string | GetErrorDescription (int code) |
static IRtcEngine | GetEngine (string appId) |
static IRtcEngine | GetEngine (RtcEngineConfig engineConfig) |
static IRtcEngine | getEngine (string appId) |
static void | Destroy () |
static IRtcEngine | QueryEngine () |
额外继承的成员函数 | |
静态 Public 属性 继承自 agora_gaming_rtc.IRtcEngineNative | |
const string | MyLibName = "agoraSdkCWrapper" |
Protected 成员函数 继承自 agora_gaming_rtc.IRtcEngineNative | |
delegate void | EngineEventOnCaptureVideoFrame (int videoFrameType, int width, int height, int yStride, IntPtr yBuffer, int rotation, long renderTimeMs) |
delegate void | EngineEventOnRenderVideoFrame (uint uid, int videoFrameType, int width, int height, int yStride, IntPtr yBuffer, int rotation, long renderTimeMs) |
delegate void | EngineEventOnRecordAudioFrame (int type, int samples, int bytesPerSample, int channels, int samplesPerSec, IntPtr buffer, long renderTimeMs, int avsync_type) |
delegate void | EngineEventOnPlaybackAudioFrame (int type, int samples, int bytesPerSample, int channels, int samplesPerSec, IntPtr buffer, long renderTimeMs, int avsync_type) |
delegate void | EngineEventOnMixedAudioFrame (int type, int samples, int bytesPerSample, int channels, int samplesPerSec, IntPtr buffer, long renderTimeMs, int avsync_type) |
delegate void | EngineEventOnPlaybackAudioFrameBeforeMixing (uint uid, int type, int samples, int bytesPerSample, int channels, int samplesPerSec, IntPtr buffer, long renderTimeMs, int avsync_type) |
delegate void | EngineEventOnPullAudioFrameHandler (int type, int samples, int bytesPerSample, int channels, int samplesPerSec, IntPtr buffer, long renderTimeMs, int avsync_type) |
delegate void | EngineEventOnLeaveChannelHandler (uint duration, uint txBytes, uint rxBytes, uint txAudioBytes, uint txVideoBytes, uint rxAudioBytes, uint rxVideoBytes, ushort txKBitRate, ushort rxKBitRate, ushort rxAudioKBitRate, ushort txAudioKBitRate, ushort rxVideoKBitRate, ushort txVideoKBitRate, ushort lastmileDelay, ushort txPacketLossRate, ushort rxPacketLossRate, uint userCount, double cpuAppUsage, double cpuTotalUsage, int gatewayRtt, double memoryAppUsageRatio, double memoryTotalUsageRatio, int memoryAppUsageInKbytes) |
delegate void | EngineEventOnUserOfflineHandler (uint uid, int offLineReason) |
delegate void | EngineEventOnAudioVolumeIndicationHandler (string volumeInfo, int speakerNumber, int totalVolume) |
delegate void | EngineEventOnLocalVoicePitchInHzHandler (int pitchInHz) |
delegate void | EngineEventOnRtcStatsHandler (uint duration, uint txBytes, uint rxBytes, uint txAudioBytes, uint txVideoBytes, uint rxAudioBytes, uint rxVideoBytes, ushort txKBitRate, ushort rxKBitRate, ushort rxAudioKBitRate, ushort txAudioKBitRate, ushort rxVideoKBitRate, ushort txVideoKBitRate, ushort lastmileDelay, ushort txPacketLossRate, ushort rxPacketLossRate, uint userCount, double cpuAppUsage, double cpuTotalUsage, int gatewayRtt, double memoryAppUsageRatio, double memoryTotalUsageRatio, int memoryAppUsageInKbytes) |
delegate void | EngineEventOnAudioRouteChangedHandler (int route) |
delegate void | EngineEventOnLocalVideoStatsHandler (int sentBitrate, int sentFrameRate, int encoderOutputFrameRate, int rendererOutputFrameRate, int targetBitrate, int targetFrameRate, int qualityAdaptIndication, int encodedBitrate, int encodedFrameWidth, int encodedFrameHeight, int encodedFrameCount, int codecType, ushort txPacketLossRate, int captureFrameRate, int captureBrightnessLevel) |
delegate void | EngineEventOnRemoteVideoStatsHandler (uint uid, int delay, int width, int height, int receivedBitrate, int decoderOutputFrameRate, int rendererOutputFrameRate, int packetLossRate, int rxStreamType, int totalFrozenTime, int frozenRate, int totalActiveTime, int publishDuration) |
delegate void | EngineEventOnRemoteAudioStatsHandler (uint uid, int quality, int networkTransportDelay, int jitterBufferDelay, int audioLossRate, int numChannels, int receivedSampleRate, int receivedBitrate, int totalFrozenTime, int frozenRate, int totalActiveTime, int publishDuration, int qoeQuality, int qualityChangedReason, int mosValue) |
delegate void | EngineEventOnAudioDeviceVolumeChangedHandler (int deviceType, int volume, bool muted) |
delegate void | EngineEventOnAudioMixingStateChangedHandler (int state, int errorCode) |
delegate void | EngineEventOnRtmpStreamingStateChangedHandler (string url, int state, int errCode) |
delegate void | EngineEventOnNetworkTypeChangedHandler (int type) |
delegate void | EngineEventOnLastmileProbeResultHandler (int state, uint upLinkPacketLossRate, uint upLinkjitter, uint upLinkAvailableBandwidth, uint downLinkPacketLossRate, uint downLinkJitter, uint downLinkAvailableBandwidth, uint rtt) |
delegate void | EngineEventOnUserInfoUpdatedHandler (uint uid, uint userUid, string userAccount) |
delegate void | EngineEventOnLocalAudioStateChangedHandler (int state, int error) |
delegate void | EngineEventOnRemoteAudioStateChangedHandler (uint uid, int state, int reason, int elapsed) |
delegate void | EngineEventOnLocalAudioStatsHandler (int numChannels, int sentSampleRate, int sentBitrate, ushort txPacketLossRate) |
delegate void | EngineEventOnChannelMediaRelayStateChangedHandler (int state, int code) |
delegate void | EngineEventOnChannelMediaRelayEventHandler (int events) |
delegate bool | EngineEventOnReceiveAudioPacketHandler (IntPtr buffer, IntPtr size) |
delegate bool | EngineEventOnReceiveVideoPacketHandler (IntPtr buffer, IntPtr size) |
delegate bool | EngineEventOnSendAudioPacketHandler (IntPtr buffer, IntPtr size) |
delegate bool | EngineEventOnSendVideoPacketHandler (IntPtr buffer, IntPtr size) |
delegate void | EngineEventOnMediaMetaDataReceived (uint uid, uint size, IntPtr buffer, long timeStampMs) |
delegate void | EngineEventOnConnectionStateChanged (int state, int reason) |
delegate bool | EngineEventOnReadyToSendMetadata () |
delegate int | EngineEventOnGetMaxMetadataSize () |
delegate void | EngineEventOnClientRoleChanged (int oldRole, int newRole) |
delegate void | EngineEventOnRemoteVideoStateChanged (uint uid, int state, int reason, int elapsed) |
delegate void | EngineEventOnLocalVideoStateChanged (int localVideoState, int error) |
delegate void | EngineEventOnFacePositionChanged (int imageWidth, int imageHeight, int x, int y, int width, int height, int vecDistance, int numFaces) |
delegate void | ChannelEngineEventOnLeaveChannelHandler (string channelId, uint duration, uint txBytes, uint rxBytes, uint txAudioBytes, uint txVideoBytes, uint rxAudioBytes, uint rxVideoBytes, ushort txKBitRate, ushort rxKBitRate, ushort rxAudioKBitRate, ushort txAudioKBitRate, ushort rxVideoKBitRate, ushort txVideoKBitRate, ushort lastmileDelay, ushort txPacketLossRate, ushort rxPacketLossRate, uint userCount, double cpuAppUsage, double cpuTotalUsage, int gatewayRtt, double memoryAppUsageRatio, double memoryTotalUsageRatio, int memoryAppUsageInKbytes) |
delegate void | ChannelEngineEventOnRtcStatsHandler (string channelId, uint duration, uint txBytes, uint rxBytes, uint txAudioBytes, uint txVideoBytes, uint rxAudioBytes, uint rxVideoBytes, ushort txKBitRate, ushort rxKBitRate, ushort rxAudioKBitRate, ushort txAudioKBitRate, ushort rxVideoKBitRate, ushort txVideoKBitRate, ushort lastmileDelay, ushort txPacketLossRate, ushort rxPacketLossRate, uint userCount, double cpuAppUsage, double cpuTotalUsage, int gatewayRtt, double memoryAppUsageRatio, double memoryTotalUsageRatio, int memoryAppUsageInKbytes) |
delegate void | ChannelEngineEventOnRemoteVideoStatsHandler (string channelId, uint uid, int delay, int width, int height, int receivedBitrate, int decoderOutputFrameRate, int rendererOutputFrameRate, int packetLossRate, int rxStreamType, int totalFrozenTime, int frozenRate, int totalActiveTime, int publishDuration) |
delegate void | ChannelEngineEventOnRemoteAudioStatsHandler (string channelId, uint uid, int quality, int networkTransportDelay, int jitterBufferDelay, int audioLossRate, int numChannels, int receivedSampleRate, int receivedBitrate, int totalFrozenTime, int frozenRate, int totalActiveTime, int publishDuration, int qoeQuality, int qualityChangedReason, int mosValue) |
delegate void | EngineEventOnStreamMessageHandler (uint userId, int streamId, IntPtr data, int length) |
delegate void | EngineEventOnRequestAudioFileInfo (string filePath, int durationMs, int error) |
delegate void | EngineEventOnRecorderStateChanged (int state, int error) |
delegate void | EngineEventOnRecorderInfoUpdated (string fileName, uint durationMs, uint fileSize) |
delegate void | EngineEventOnScreenCaptureInfoUpdated (string graphicsCardType, int errCode) |
static int | createEngine (string appId) |
static int | createEngine2 (string appId, uint areaCode, string filePath, int fileSize, int level) |
static bool | deleteEngine () |
static IntPtr | getSdkVersion () |
static int | joinChannel (string channelKey, string channelName, string info, uint uid) |
static int | setLocalVoicePitch (double pitch) |
static int | setRemoteVoicePosition (uint uid, double pan, double gain) |
static int | setVoiceOnlyMode (bool enable) |
static int | leaveChannel () |
static int | enableLastmileTest () |
static int | disableLastmileTest () |
static int | enableVideo () |
static int | disableVideo () |
static int | enableLocalVideo (bool enabled) |
static int | enableLocalAudio (bool enabled) |
static int | setupLocalVideo (int hwnd, int renderMode, uint uid, IntPtr priv) |
static int | setupRemoteVideo (int hwnd, int renderMode, uint uid, IntPtr priv) |
static int | setLocalRenderMode (int renderMode) |
static int | setRemoteRenderMode (uint userId, int renderMode) |
static int | setLocalVideoMirrorMode (int mirrorMode) |
static int | startPreview () |
static int | stopPreview () |
static int | enableAudio () |
static int | disableAudio () |
static int | setParameters (string options) |
static IntPtr | getCallId () |
static int | rate (string callId, int rating, string desc) |
static int | complain (string callId, string desc) |
static int | setEnableSpeakerphone (bool enabled) |
static bool | isSpeakerphoneEnabled () |
static int | setDefaultAudioRoutetoSpeakerphone (bool enabled) |
static int | enableAudioVolumeIndication (int interval, int smooth, bool report_vad) |
static int | startAudioRecording (string filePath, int quality) |
static int | startAudioRecording2 (string filePath, int sampleRate, int quality) |
static int | stopAudioRecording () |
static int | startAudioMixing (string filePath, bool loopback, bool replace, int cycle) |
static int | startAudioMixing2 (string filePath, bool loopback, bool replace, int cycle, int startPos) |
static int | stopAudioMixing () |
static int | pauseAudioMixing () |
static int | resumeAudioMixing () |
static int | adjustAudioMixingVolume (int volume) |
static int | getAudioMixingDuration () |
static int | getAudioMixingDuration2 (string filePath) |
static int | getAudioMixingCurrentPosition () |
static int | muteLocalAudioStream (bool mute) |
static int | muteAllRemoteAudioStreams (bool mute) |
static int | muteRemoteAudioStream (uint uid, bool mute) |
static int | switchCamera () |
static int | setVideoProfile (int profile, bool swapWidthAndHeight) |
static int | muteLocalVideoStream (bool mute) |
static int | muteAllRemoteVideoStreams (bool mute) |
static int | muteRemoteVideoStream (uint uid, bool mute) |
static int | setLogFile (string filePath) |
static int | renewToken (string token) |
static int | setChannelProfile (int profile) |
static int | setClientRole (int role) |
static int | enableDualStreamMode (bool enabled) |
static int | setEncryptionMode (string encryptionMode) |
static int | setEncryptionSecret (string secret) |
static int | startRecordingService (string recordingKey) |
static int | stopRecordingService (string recordingKey) |
static int | refreshRecordingServiceStatus () |
static int | createDataStream (bool reliable, bool ordered) |
static int | createDataStream_engine (bool syncWithAudio, bool ordered) |
static int | sendStreamMessage (int streamId, byte[] data, Int64 length) |
static int | setSpeakerphoneVolume (int volume) |
static int | adjustRecordingSignalVolume (int volume) |
static int | adjustPlaybackSignalVolume (int volume) |
static int | setHighQualityAudioParametersWithFullband (int fullband, int stereo, int fullBitrate) |
static int | enableInEarMonitoring (bool enabled) |
static int | enableWebSdkInteroperability (bool enabled) |
static int | setVideoQualityParameters (bool preferFrameRateOverImageQuality) |
static int | startEchoTest () |
static int | startEchoTest2 (int intervalInSeconds) |
static int | startEchoTest3 (IntPtr view, bool enableAudio, bool enableVideo, string token, string channelId) |
static int | stopEchoTest () |
static int | setRemoteVideoStreamType (uint uid, int streamType) |
static int | setMixedAudioFrameParameters (int sampleRate, int samplesPerCall) |
static int | setAudioMixingPosition (int pos) |
static int | setLogFilter (uint filter) |
static int | enableVideoObserver () |
static int | disableVideoObserver () |
static int | generateNativeTexture () |
static int | updateTexture (int tex, IntPtr data, uint uid) |
static int | deleteTexture (int tex) |
static int | updateVideoRawData (IntPtr data, uint uid) |
static void | addUserVideoInfo (uint userId, uint textureId) |
static void | removeUserVideoInfo (uint userId) |
static int | setPlaybackDeviceVolume (int volume) |
static int | getEffectsVolume () |
static int | setEffectsVolume (int volume) |
static int | playEffect (int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish) |
static int | playEffect2 (int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish, int startPos) |
static int | getEffectDuration (string filePath) |
static int | setEffectPosition (int soundId, int pos) |
static int | getEffectCurrentPosition (int soundId) |
static int | stopEffect (int soundId) |
static int | stopAllEffects () |
static int | preloadEffect (int soundId, string filePath) |
static int | unloadEffect (int soundId) |
static int | pauseEffect (int soundId) |
static int | pauseAllEffects () |
static int | resumeEffect (int soundId) |
static int | resumeAllEffects () |
static int | setDefaultMuteAllRemoteAudioStreams (bool mute) |
static int | setDefaultMuteAllRemoteVideoStreams (bool mute) |
static void | freeObject (IntPtr obj) |
static int | getConnectionState () |
static int | setAudioProfile (int audioProfile, int scenario) |
static int | setVideoEncoderConfiguration (int width, int height, int frameRate, int minFrameRate, int bitrate, int minBitrate, int orientationMode, int degradationPreference, int videoMirrorMode) |
static int | adjustAudioMixingPlayoutVolume (int volume) |
static int | adjustAudioMixingPublishVolume (int volume) |
static int | setVolumeOfEffect (int soundId, int volume) |
static int | setRecordingAudioFrameParameters (int sampleRate, int channel, int mode, int samplesPerCall) |
static int | setPlaybackAudioFrameParameters (int sampleRate, int channel, int mode, int samplesPerCall) |
static int | setLocalPublishFallbackOption (int option) |
static int | setRemoteSubscribeFallbackOption (int option) |
static int | setRemoteDefaultVideoStreamType (int remoteVideoStreamType) |
static int | addPublishStreamUrl (string url, bool transcodingEnabled) |
static int | removePublishStreamUrl (string url) |
static IntPtr | getErrorDescription (int code) |
static int | setLiveTranscoding (int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | setAVSyncSource (string channelId, uint uid) |
static int | startRtmpStreamWithoutTranscoding (string url) |
static int | startRtmpStreamWithTranscoding (string url, int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | updateRtmpTranscoding (int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | stopRtmpStream (string url) |
static int | takeSnapshot (string channel, uint uid, string filePath) |
static int | enableContentInspect (bool enabled, string extraInfo, string modulesInfo, int moduleCount) |
static bool | createAVideoDeviceManager () |
static int | releaseAVideoDeviceManager () |
static int | startVideoDeviceTest (IntPtr hwnd) |
static int | stopVideoDeviceTest () |
static int | getVideoDeviceCollectionCount () |
static int | getVideoDeviceCollectionDevice (int index, IntPtr deviceName, IntPtr deviceId) |
static int | setVideoDeviceCollectionDevice (string deviceId) |
static int | getCurrentVideoDevice (IntPtr deviceId) |
static bool | creatAAudioRecordingDeviceManager () |
static int | releaseAAudioRecordingDeviceManager () |
static int | getAudioRecordingDeviceCount () |
static int | getAudioRecordingDevice (int index, IntPtr deviceName, IntPtr deviceId) |
static int | setAudioRecordingDevice (string deviceId) |
static int | getAudioRecordingDefaultDevice (IntPtr deviceName, IntPtr deviceId) |
static int | setAudioRecordingDeviceVolume (int volume) |
static int | getAudioRecordingDeviceVolume () |
static int | setAudioRecordingDeviceMute (bool mute) |
static bool | isAudioRecordingDeviceMute () |
static int | getCurrentRecordingDeviceInfo (IntPtr deviceName, IntPtr deviceId) |
static int | followSystemRecordingDevice (bool enable) |
static int | startAudioDeviceLoopbackTest (int indicationInterval) |
static int | stopAudioDeviceLoopbackTest () |
static int | getCurrentRecordingDevice (IntPtr deviceId) |
static int | startAudioRecordingDeviceTest (int indicationInterval) |
static int | stopAudioRecordingDeviceTest () |
static int | getAudioPlaybackDeviceCount () |
static bool | creatAAudioPlaybackDeviceManager () |
static int | releaseAAudioPlaybackDeviceManager () |
static int | getAudioPlaybackDevice (int index, IntPtr deviceName, IntPtr deviceId) |
static int | setAudioPlaybackDevice (string deviceId) |
static int | getAudioPlaybackDefaultDevice (IntPtr deviceName, IntPtr deviceId) |
static int | setAudioPlaybackDeviceVolume (int volume) |
static int | getAudioPlaybackDeviceVolume () |
static int | setAudioPlaybackDeviceMute (bool mute) |
static bool | isAudioPlaybackDeviceMute () |
static int | startAudioPlaybackDeviceTest (string testAudioFilePath) |
static int | stopAudioPlaybackDeviceTest () |
static int | getCurrentPlaybackDeviceInfo (IntPtr deviceName, IntPtr deviceId) |
static int | followSystemPlaybackDevice (bool enable) |
static int | getCurrentPlaybackDevice (IntPtr deviceId) |
static int | pushVideoFrame (int type, int format, byte[] videoBuffer, int stride, int height, int cropLeft, int cropTop, int cropRight, int cropBottom, int rotation, long timestamp) |
static int | pushVideoFrame2 (int type, int format, IntPtr bufferPtr, int stride, int height, int cropLeft, int cropTop, int cropRight, int cropBottom, int rotation, long timestamp) |
static int | setExternalVideoSource (bool enable, bool useTexture) |
static int | setExternalAudioSource (bool enabled, int sampleRate, int channels) |
static int | pushAudioFrame_ (int audioFrameType, int samples, int bytesPerSample, int channels, int samplesPerSec, byte[] buffer, long renderTimeMs, int avsync_type) |
static int | pushAudioFrame3_ (int sourcePos, int audioFrameType, int samples, int bytesPerSample, int channels, int samplesPerSec, byte[] buffer, long renderTimeMs, int avsync_type) |
static int | registerVideoRawDataObserver () |
static int | unRegisterVideoRawDataObserver () |
static int | registerAudioRawDataObserver () |
static int | unRegisterAudioRawDataObserver () |
static int | setRenderMode (int renderMode) |
static int | getAudioMixingPlayoutVolume () |
static int | getAudioMixingPublishVolume () |
static int | setLocalVoiceChanger (int voiceChanger) |
static int | setLocalVoiceReverbPreset (int audioReverbPreset) |
static int | enableSoundPositionIndication (bool enabled) |
static int | setLocalVoiceEqualization (int bandFrequency, int bandGain) |
static int | setLocalVoiceReverb (int reverbKey, int value) |
static int | setCameraCapturerConfiguration (int cameraCaptureConfiguration, int cameraDirection, int width, int height) |
static int | setRemoteUserPriority (uint uid, int userPriority) |
static int | setLogFileSize (uint fileSizeInKBytes) |
static int | setExternalAudioSink (bool enabled, int sampleRate, int channels) |
static int | pullAudioFrame_ (IntPtr audioBuffer, int type, int samples, int bytesPerSample, int channels, int samplesPerSec, long renderTimeMs, int avsync_type) |
static int | startLastmileProbeTest (bool probeUplink, bool probeDownlink, uint expectedUplinkBitrate, uint expectedDownlinkBitrate) |
static int | stopLastmileProbeTest () |
static int | configPublisher (int width, int height, int framerate, int bitrate, int defaultLayout, int lifecycle, bool owner, int injectStreamWidth, int injectStreamHeight, string injectStreamUrl, string publishUrl, string rawStreamUrl, string extraInfo) |
static int | addVideoWatermark (string url, int x, int y, int width, int height) |
static int | addVideoWatermark2 (string watermarkUrl, bool visibleInPreview, int positionInLandscapeX, int positionInLandscapeY, int positionInLandscapeWidth, int positionInLandscapeHeight, int positionInPortraitX, int positionInPortraitY, int positionInPortraitWidth, int positionInPortraitHeight) |
static int | clearVideoWatermarks () |
static int | registerLocalUserAccount (string appId, string userAccount) |
static int | joinChannelWithUserAccount (string token, string channelId, string userAccount) |
static int | joinChannelWithUserAccount_engine (string token, string channelId, string userAccount, bool autoSubscribeAudio, bool autoSubscribeVideo, bool publishLocalAudio, bool publishLocalVideo) |
static int | getUserInfoByUserAccount (string userAccount) |
static IntPtr | getUserInfoByUid (uint uid) |
static int | setBeautyEffectOptions (bool enabled, int lighteningContrastLevel, float lighteningLevel, float smoothnessLevel, float rednessLevel, float sharpnessLevel) |
static int | setInEarMonitoringVolume (int volume) |
static int | startScreenCaptureByDisplayId (uint displayId, int x, int y, int width, int height, int screenCaptureVideoDimenWidth, int screenCaptureVideoDimenHeight, int screenCaptureFrameRate, int screenCaptureBitrate, bool screenCaptureCaptureMouseCursor, bool windowFocus, string excludeWindowList, int excludeWindowCount, int highLightWidth, uint highLightColor, bool enableHighLight) |
static int | startScreenCaptureByScreenRect (int screenRectX, int screenRectY, int screenRectWidth, int screenRectHeight, int regionRectX, int regionRectY, int regionRectWidth, int regionRectHeight, int screenCaptureVideoDimenWidth, int screenCaptureVideoDimenHeight, int screenCaptureFrameRate, int screenCaptureBitrate, bool screenCaptureCaptureMouseCursor, bool windowFocus, string excludeWindowList, int excludeWindowCount, int highLightWidth, uint highLightColor, bool enableHighLight) |
static int | setScreenCaptureContentHint (int videoContentHint) |
static int | updateScreenCaptureParameters (int screenCaptureVideoDimenWidth, int screenCaptureVideoDimenHeight, int screenCaptureFrameRate, int screenCaptureBitrate, bool screenCaptureCaptureMouseCursor, bool windowFocus, string excludeWindowList, int excludeWindowCount, int highLightWidth, uint highLightColor, bool enableHighLight) |
static int | updateScreenCaptureRegion (int x, int y, int width, int height) |
static int | stopScreenCapture () |
static int | addInjectStreamUrl (string url, int width, int height, int videoGop, int videoFramerate, int videoBitrate, int audioSampleRate, int audioBitrate, int audioChannels) |
static int | removeInjectStreamUrl (string url) |
static int | enableLoopbackRecording (bool enabled, string deviceName) |
static int | setAudioSessionOperationRestriction (int restriction) |
static int | switchChannel (string token, string channelId) |
static int | startChannelMediaRelay (string srcChannelName, string srcToken, uint srcUid, string destInfosStr, int destCount) |
static int | updateChannelMediaRelay (string srcChannelName, string srcToken, uint srcUid, string destInfosStr, int destCount) |
static int | stopChannelMediaRelay () |
static int | sendMetadata (uint uid, uint size, byte[] buffer, long timeStampMs) |
static int | registerPacketObserver () |
static int | unRegisterPacketObserver () |
static int | registerMediaMetadataObserver (int metaDataType) |
static int | unRegisterMediaMetadataObserver () |
static int | setMirrorApplied (bool wheatherApply) |
static int | sendMetadata (uint uid, uint size, string buffer, long timeStamps) |
static int | startScreenCaptureByWindowId (int windowId, int regionRectX, int regionRectY, int regionRectWidth, int regionRectHeight, int screenCaptureVideoDimenWidth, int screenCaptureVideoDimenHeight, int screenCaptureFrameRate, int screenCaptureBitrate, bool screenCaptureCaptureMouseCursor, bool windowFocus, string excludeWindowList, int excludeWindowCount, int highLightWidth, uint highLightColor, bool enableHighLight) |
static int | setDefaultEngineSettings () |
static int | adjustUserPlaybackSignalVolume (uint uid, int volume) |
static int | setMultiChannelWant (bool multiChannelWant) |
static bool | getMultiChannelWanted () |
static int | setAudioMixingPitch (int pitch) |
static void | initEventOnEngineCallback (OnJoinChannelSuccessHandler OnJoinChannelSuccess, OnReJoinChannelSuccessHandler OnReJoinChannelSuccess, OnConnectionLostHandler OnConnectionLost, EngineEventOnLeaveChannelHandler OnLeaveChannel, OnConnectionInterruptedHandler OnConnectionInterrupted, OnRequestTokenHandler OnRequestToken, OnUserJoinedHandler OnUserJoined, EngineEventOnUserOfflineHandler OnUserOffline, EngineEventOnAudioVolumeIndicationHandler OnAudioVolumeIndication, EngineEventOnLocalVoicePitchInHzHandler OnLocalVoicePitchInHz, OnUserMutedAudioHandler OnUserMuteAudio, OnSDKWarningHandler OnSDKWarning, OnSDKErrorHandler OnSDKError, EngineEventOnRtcStatsHandler OnRtcStats, OnAudioMixingFinishedHandler OnAudioMixingFinished, EngineEventOnAudioRouteChangedHandler OnAudioRouteChanged, OnFirstRemoteVideoDecodedHandler OnFirstRemoteVideoDecoded, OnVideoSizeChangedHandler OnVideoSizeChanged, EngineEventOnClientRoleChanged onClientRolteChanged, OnUserMuteVideoHandler OnUserMuteVideo, OnMicrophoneEnabledHandler OnMicrophoneEnabled, OnApiExecutedHandler OnApiExecuted, OnFirstLocalAudioFrameHandler OnFirstLocalAudioFrame, OnFirstRemoteAudioFrameHandler OnFirstRemoteAudioFrame, OnLastmileQualityHandler OnLastmileQuality, OnAudioQualityHandler onAudioQuality, OnStreamInjectedStatusHandler onStreamInjectedStatus, OnStreamUnpublishedHandler onStreamUnpublished, OnStreamPublishedHandler onStreamPublished, OnStreamMessageErrorHandler onStreamMessageError, EngineEventOnStreamMessageHandler onStreamMessage, OnConnectionBannedHandler onConnectionBanned, OnVideoStoppedHandler OnVideoStopped, OnTokenPrivilegeWillExpireHandler onTokenPrivilegeWillExpire, OnNetworkQualityHandler onNetworkQuality, EngineEventOnLocalVideoStatsHandler onLocalVideoStats, EngineEventOnRemoteVideoStatsHandler onRemoteVideoStats, EngineEventOnRemoteAudioStatsHandler onRemoteAudioStats, OnFirstLocalVideoFrameHandler OnFirstLocalVideoFrame, OnFirstRemoteVideoFrameHandler OnFirstRemoteVideoFrame, OnUserEnableVideoHandler OnUserEnableVideo, OnAudioDeviceStateChangedHandler onAudioDeviceStateChanged, OnCameraReadyHandler onCameraReady, OnCameraFocusAreaChangedHandler onCameraFocusAreaChanged, OnCameraExposureAreaChangedHandler onCameraExposureAreaChanged, OnRemoteAudioMixingBeginHandler onRemoteAudioMixingBegin, OnRemoteAudioMixingEndHandler onRemoteAudioMixingEnd, OnAudioEffectFinishedHandler onAudioEffectFinished, OnVideoDeviceStateChangedHandler onVideoDeviceStateChanged, EngineEventOnRemoteVideoStateChanged OnRemoteVideoStateChanged, OnUserEnableLocalVideoHandler OnUserEnableLocalVideo, OnLocalPublishFallbackToAudioOnlyHandler OnLocalPublishFallbackToAudioOnly, OnRemoteSubscribeFallbackToAudioOnlyHandler onRemoteSubscribeFallbackToAudioOnly, EngineEventOnConnectionStateChanged onConnectionStateChanged, OnRemoteVideoTransportStatsHandler onRemoteVideoTransportStats, OnRemoteAudioTransportStatsHandler onRemoteAudioTransportStats, OnTranscodingUpdatedHandler onTranscodingUpdated, EngineEventOnAudioDeviceVolumeChangedHandler onAudioDeviceVolumeChanged, OnActiveSpeakerHandler onActiveSpeaker, OnMediaEngineStartCallSuccessHandler onMediaEngineStartCallSuccess, OnMediaEngineLoadSuccessHandler onMediaEngineLoadSuccess, EngineEventOnAudioMixingStateChangedHandler onAudioMixingStateChanged, OnFirstRemoteAudioDecodedHandler onFirstRemoteAudioDecoded, EngineEventOnLocalVideoStateChanged onLocalVideoStateChanged, EngineEventOnRtmpStreamingStateChangedHandler onRtmpStreamingStateChanged, EngineEventOnNetworkTypeChangedHandler onNetworkTypeChanged, EngineEventOnLastmileProbeResultHandler onLastmileProbeResult, OnLocalUserRegisteredHandler onLocalUserRegistered, EngineEventOnUserInfoUpdatedHandler onUserInfoUpdated, EngineEventOnLocalAudioStateChangedHandler onLocalAudioStateChanged, EngineEventOnRemoteAudioStateChangedHandler onRemoteAudioStateChanged, EngineEventOnLocalAudioStatsHandler onLocalAudioStats, EngineEventOnChannelMediaRelayStateChangedHandler onChannelMediaRelayStateChanged, EngineEventOnChannelMediaRelayEventHandler onChannelMediaRelayEvent, EngineEventOnFacePositionChanged onFacePositionChanged, OnRtmpStreamingEventHandler onRtmpStreamingEvent, OnAudioPublishStateChangedHandler onAudioPublishStateChange, OnVideoPublishStateChangedHandler onVideoPublishStateChanged, OnAudioSubscribeStateChangedHandler onAudioSubscribeStateChanged, OnVideoSubscribeStateChangedHandler onVideoSubscribeStateChanged, OnFirstLocalAudioFramePublishedHandler onFirstLocalAudioFramePublished, OnFirstLocalVideoFramePublishedHandler onFirstLocalVideoFramePublished, OnUserSuperResolutionEnabledHandler onUserSuperResolutionEnabled, OnUploadLogResultHandler onUploadLogResult, OnVirtualBackgroundSourceEnabledHandler onVirtualBackgroundSourceEnabled, EngineEventOnRequestAudioFileInfo OnRequestAudioFileInfo, OnContentInspectResultHandler onContentInspectResult, OnSnapshotTakenHandler onSnapshotTaken, OnClientRoleChangeFailedHandler onClientRoleChangeFailed, OnAudioDeviceTestVolumeIndicationHandler onAudioDeviceTestVolumeIndication, OnProxyConnectedHandler onProxyConnected, OnWlAccMessageHandler onWlAccMessage, OnWlAccStatsHandler onWlAccStats, EngineEventOnScreenCaptureInfoUpdated onScreenCaptureInfoUpdated) |
static void | initChannelEventCallback (IntPtr channel, ChannelOnWarningHandler onWarning, ChannelOnErrorHandler onError, ChannelOnJoinChannelSuccessHandler onJoinChannelSuccess, ChannelOnReJoinChannelSuccessHandler onRejoinChannelSuccess, ChannelEngineEventOnLeaveChannelHandler onLeaveChannel, ChannelOnClientRoleChangedHandler onClientRoleChanged, ChannelOnUserJoinedHandler onUserJoined, ChannelOnUserOffLineHandler onUserOffline, ChannelOnConnectionLostHandler onConnectionLost, ChannelOnRequestTokenHandler onRequestToken, ChannelOnTokenPrivilegeWillExpireHandler onTokenPrivilegeWillExpire, ChannelEngineEventOnRtcStatsHandler onRtcStats, ChannelOnNetworkQualityHandler onNetworkQuality, ChannelEngineEventOnRemoteVideoStatsHandler onRemoteVideoStats, ChannelEngineEventOnRemoteAudioStatsHandler onRemoteAudioStats, ChannelOnRemoteAudioStateChangedHandler onRemoteAudioStateChanged, ChannelOnActiveSpeakerHandler onActiveSpeaker, ChannelOnVideoSizeChangedHandler onVideoSizeChanged, ChannelOnRemoteVideoStateChangedHandler onRemoteVideoStateChanged, ChannelOnStreamMessageHandler onStreamMessage, ChannelOnStreamMessageErrorHandler onStreamMessageError, ChannelOnMediaRelayStateChangedHandler onMediaRelayStateChanged, ChannelOnMediaRelayEventHandler onMediaRelayEvent, ChannelOnRtmpStreamingStateChangedHandler onRtmpStreamingStateChanged, ChannelOnTranscodingUpdatedHandler onTranscodingUpdated, ChannelOnStreamInjectedStatusHandler onStreamInjectedStatus, ChannelOnRemoteSubscribeFallbackToAudioOnlyHandler onRemoteSubscribeFallbackToAudioOnly, ChannelOnConnectionStateChangedHandler onConnectionStateChanged, ChannelOnLocalPublishFallbackToAudioOnlyHandler onLocalPublishFallbackToAudioOnly, ChannelOnRtmpStreamingEventHandler onRtmpStreamingEvent, ChannelOnAudioPublishStateChangedHandler onAudioPublishStateChange, ChannelOnVideoPublishStateChangedHandler onVideoPublishStateChange, ChannelOnAudioSubscribeStateChangedHandler onAudioSubscribeStateChange, ChannelOnVideoSubscribeStateChangedHandler onVideoSubscribeStateChange, ChannelOnUserSuperResolutionEnabledHandler onUserSuperResolutionEnabled, ChannelOnClientRoleChangeFailedHandler onClientRoleChangeFailed, ChannelOnFirstRemoteVideoFrameHandler onFirstRemoteVideoFrame, ChannelOnChannelProxyConnectedHandler onChannelProxyConnected) |
static void | initEventOnCaptureVideoFrame (EngineEventOnCaptureVideoFrame onCaptureVideoFrame) |
static void | initEventOnRenderVideoFrame (EngineEventOnRenderVideoFrame onRenderVideoFrame) |
static void | initEventOnRecordAudioFrame (EngineEventOnRecordAudioFrame onRecordAudioFrame) |
static void | initEventOnPlaybackAudioFrame (EngineEventOnPlaybackAudioFrame onPlaybackAudioFrame) |
static void | initEventOnMixedAudioFrame (EngineEventOnMixedAudioFrame onMixedAudioFrame) |
static void | initEventOnPlaybackAudioFrameBeforeMixing (EngineEventOnPlaybackAudioFrameBeforeMixing onPlaybackAudioFrameBeforeMixing) |
static void | initEventOnPullAudioFrame (EngineEventOnPullAudioFrameHandler onPullAudioFrame) |
static void | initEventOnPacketCallback (EngineEventOnReceiveAudioPacketHandler onReceiveAudioPacket, EngineEventOnReceiveVideoPacketHandler onReceiveVideoPacket, EngineEventOnSendAudioPacketHandler onSendAudioPacket, EngineEventOnSendVideoPacketHandler onSendVideoPacket) |
static void | initEventOnMetaDataCallback (EngineEventOnMediaMetaDataReceived onMetadataReceived, EngineEventOnReadyToSendMetadata onReadyToSendMetadata, EngineEventOnGetMaxMetadataSize onGetMaxMetadataSize) |
static IntPtr | createChannel (string channelId) |
static int | ReleaseChannel (IntPtr channel) |
static int | joinChannel2 (IntPtr channel, string token, string info, uint uid, bool autoSubscribeAudio, bool autoSubscribeVideo, bool publishLocalAudio, bool publishLocalVideo) |
static int | joinChannelWithUserAccount2 (IntPtr channel, string token, string userAccount, bool autoSubscribeAudio, bool autoSubscribeVideo, bool publishLocalAudio, bool publishLocalVideo) |
static int | leaveChannel2 (IntPtr channel) |
static int | publish (IntPtr channel) |
static int | unpublish (IntPtr channel) |
static IntPtr | channelId (IntPtr channel) |
static IntPtr | getCallId2 (IntPtr channel) |
static int | renewToken2 (IntPtr channel, string token) |
static int | setEncryptionSecret2 (IntPtr channel, string secret) |
static int | setEncryptionMode2 (IntPtr channel, string encryptionMode) |
static int | setClientRole2 (IntPtr channel, int role) |
static int | setRemoteUserPriority2 (IntPtr channel, uint uid, int userPriority) |
static int | setRemoteVoicePosition2 (IntPtr channel, uint uid, double pan, double gain) |
static int | setRemoteRenderMode2 (IntPtr channel, uint userId, int renderMode, int mirrorMode) |
static int | setDefaultMuteAllRemoteAudioStreams2 (IntPtr channel, bool mute) |
static int | setDefaultMuteAllRemoteVideoStreams2 (IntPtr channel, bool mute) |
static int | muteAllRemoteAudioStreams2 (IntPtr channel, bool mute) |
static int | adjustUserPlaybackSignalVolume2 (IntPtr channel, uint userId, int volume) |
static int | muteRemoteAudioStream2 (IntPtr channel, uint userId, bool mute) |
static int | muteAllRemoteVideoStreams2 (IntPtr channel, bool mute) |
static int | muteRemoteVideoStream2 (IntPtr channel, uint userId, bool mute) |
static int | setRemoteVideoStreamType2 (IntPtr channel, uint userId, int streamType) |
static int | setRemoteDefaultVideoStreamType2 (IntPtr channel, int streamType) |
static int | createDataStream2 (IntPtr channel, bool reliable, bool ordered) |
static int | createDataStream_channel (IntPtr channel, bool syncWithAudio, bool ordered) |
static int | sendStreamMessage2 (IntPtr channel, int streamId, string data, Int64 length) |
static int | addPublishStreamUrl2 (IntPtr channel, string url, bool transcodingEnabled) |
static int | removePublishStreamUrl2 (IntPtr channel, string url) |
static int | setLiveTranscoding2 (IntPtr channel, int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | startRtmpStreamWithoutTranscoding2 (IntPtr channel, string url) |
static int | startRtmpStreamWithTranscoding2 (IntPtr channel, string url, int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | updateRtmpTranscoding2 (IntPtr channel, int width, int height, int videoBitrate, int videoFramerate, bool lowLatency, int videoGroup, int video_codec_profile, uint backgroundColor, uint userCount, string transcodingUserInfo, string transcodingExtraInfo, string metaData, string watermarkRtcImageUrl, int watermarkRtcImageX, int watermarkRtcImageY, int watermarkRtcImageWidth, int watermarkRtcImageHeight, int watermarkImageZorder, double watermarkImageAlpha, uint watermarkCount, string backgroundImageRtcImageUrl, int backgroundImageRtcImageX, int backgroundImageRtcImageY, int backgroundImageRtcImageWidth, int backgroundImageRtcImageHeight, int backgroundImageRtcImageZorder, double backgroundImageRtcImageAlpha, uint backgroundImageRtcImageCount, int audioSampleRate, int audioBitrate, int audioChannels, int audioCodecProfile, string advancedFeatures, uint advancedFeatureCount) |
static int | stopRtmpStream2 (IntPtr channel, string url) |
static int | addInjectStreamUrl2 (IntPtr channel, string url, int width, int height, int videoGop, int videoFramerate, int videoBitrate, int audioSampleRate, int audioBitrate, int audioChannels) |
static int | removeInjectStreamUrl2 (IntPtr channel, string url) |
static int | startChannelMediaRelay2 (IntPtr channel, string srcChannelName, string srcToken, uint srcUid, string destInfosStr, int destCount) |
static int | updateChannelMediaRelay2 (IntPtr channel, string srcChannelName, string srcToken, uint srcUid, string destInfosStr, int destCount) |
static int | stopChannelMediaRelay2 (IntPtr channel) |
static int | getConnectionState2 (IntPtr channel) |
static void | addUserVideoInfo2 (string channelId, uint _userId, uint _textureId) |
static void | removeUserVideoInfo2 (string channelId, uint _userId) |
static int | updateVideoRawData2 (IntPtr data, string channelId, uint uid) |
static int | enableFaceDetection (bool enable) |
static int | enableEncryption (bool enabled, string encryptionKey, int encryptionMode, byte[] encryptionKdfSalt) |
static int | enableRemoteSuperResolution (uint userId, bool enable) |
static int | enableRemoteSuperResolution3 (bool enabled, int mode, uint userId) |
static int | setClientRole_1 (int role, int audienceLatencyLevel) |
static int | setClientRole_2 (IntPtr channel, int role, int audienceLatencyLevel) |
static int | setVoiceBeautifierPreset (int preset) |
static int | setAudioEffectPreset (int preset) |
static int | setAudioEffectParameters (int preset, int param1, int param2) |
static int | enableEncryption2 (IntPtr channel, bool enabled, string encryptionKey, int encryptionMode, byte[] encryptionKdfSalt) |
static int | enableRemoteSuperResolution2 (IntPtr channel, uint userId, bool enable) |
static int | enableRemoteSuperResolution4 (IntPtr channel, bool enabled, int mode, uint userId) |
static int | sendCustomReportMessage (string id, string category, string events, string label, int value) |
static int | setVoiceBeautifierParameters (int preset, int param1, int param2) |
static int | enableDeepLearningDenoise (bool enable) |
static int | joinChannelWithMediaOption (string token, string channelId, string info, uint uid, bool autoSubscribeAudio, bool autoSubscribeVideo, bool publishLocalAudio, bool publishLocalVideo) |
static int | switchChannel2 (string token, string channelId, bool autoSubscribeAudio, bool autoSubscribeVideo, bool publishLocalAudio, bool publishLocalVideo) |
static IntPtr | uploadLogFile () |
static int | setCloudProxy (int proxyType) |
static int | setVoiceConversionPreset (int preset) |
static int | adjustLoopbackRecordingSignalVolume (int volume) |
static int | startAudioRecordingWithConfig (string filePath, int recordingQuality, int recordingPosition, int recordingSampleRate, int recordingChannel) |
static int | setLocalAccessPoint (string ips, int ipSize, string domainList, int domainListSize, string verifyDomainName, int mode, string serverDomain, string serverPath, int serverPort, bool serverHttps) |
static int | muteLocalAudioStream_channel (IntPtr channel, bool mute) |
static int | muteLocalVideoStream_channel (IntPtr channel, bool mute) |
static int | enableVirtualBackground (bool enabled, int background_source_type, uint color, string source, int blur_degree) |
static int | setCameraTorchOn (bool on) |
static bool | isCameraTorchSupported () |
static int | setExternalAudioSourceVolume (int sourcePos, int volume) |
static int | setAudioMixingPlaybackSpeed (int speed) |
static int | selectAudioTrack (int index) |
static int | getAudioTrackCount () |
static int | setAudioMixingDualMonoMode (int mode) |
static int | pauseAllChannelMediaRelay () |
static int | resumeAllChannelMediaRelay () |
static int | getAudioFileInfo (string filePath) |
static int | setAVSyncSource2 (IntPtr channel, string channelId, uint uid) |
static int | createMediaRecorder () |
static int | startRecording (string storagePath, int containerFormat, int streamType, int maxDurationMs, int recorderInfoUpdateInterval) |
static int | stopRecording () |
static int | releaseMediaRecorder () |
static void | initEventOnMediaRecorderCallback (EngineEventOnRecorderStateChanged onRecorderStateChanged, EngineEventOnRecorderInfoUpdated onRecorderInfoUpdated) |
static void | getScreenCaptureSources (int thumbHeight, int thumbWidth, int iconHeight, int iconWidth, bool includeScreen) |
static int | getScreenCaptureSourcesCount () |
static int | getScreenCaptureSourceType (uint index) |
static IntPtr | getScreenCaptureSourceName (uint index) |
static IntPtr | getScreenCaptureSourceProcessPath (uint index) |
static IntPtr | getScreenCaptureSourceTitle (uint index) |
static IntPtr | getScreenCaptureSourceId (uint index) |
static bool | getScreenCaptureIsPrimaryMonitor (uint index) |
static int | getScreenCaptureThumbImage (uint index, ref ThumbImageBuffer buffer) |
static int | getScreenCaptureIconImage (uint index, ref ThumbImageBuffer buffer) |
static int | setLowlightEnhanceOptions (bool enabled, int mode, int level) |
static int | setVideoDenoiserOptions (bool enabled, int mode, int level) |
static int | setColorEnhanceOptions (bool enabled, float strengthLevel, float skinProtectLevel) |
static int | enableWirelessAccelerate (bool enabled) |
static int | enableLocalVoicePitchCallback (int interval) |
static int | enableSpatialAudio (bool enabled) |
static int | setRemoteUserSpatialAudioParams (uint uid, double speaker_azimuth, double speaker_elevation, double speaker_distance, int speaker_orientation, bool enable_blur, bool enable_air_absorb) |
static int | setScreenCaptureScenario (int screenScenario) |
static int | setRemoteUserSpatialAudioParams2 (IntPtr channel, uint uid, double speaker_azimuth, double speaker_elevation, double speaker_distance, int speaker_orientation, bool enable_blur, bool enable_air_absorb) |
static int | setCameraZoomFactor (float factor) |
static float | getCameraMaxZoomFactor () |
static bool | isCameraZoomSupported () |
static bool | isCameraFocusSupported () |
static bool | isCameraExposurePositionSupported () |
static bool | isCameraAutoFocusFaceModeSupported () |
static int | setCameraFocusPositionInPreview (float positionX, float positionY) |
static int | setCameraExposurePosition (float positionXinView, float positionYinView) |
static int | setCameraAutoFocusFaceModeEnabled (bool enabled) |
static int | setCameraCaptureRotation (int rotation) |
static int | localSpatialAudio_initialize () |
static int | updateRemotePosition (uint uid, float[] position, float[] forward) |
static int | removeRemotePosition (uint uid) |
static int | clearRemotePositions () |
static void | localSpatialAudio_release () |
static int | setMaxAudioRecvCount (int maxCount) |
static int | setAudioRecvRange (float range) |
static int | setDistanceUnit (float unit) |
static int | updateSelfPosition (float[] position, float[] axisForward, float[] axisRight, float[] axisUp) |
static int | localSpatialAudio_setParameters (string @params) |
static int | muteLocalAudioStream_spatialAudio (bool mute) |
static int | muteAllRemoteAudioStreams_spatialAudio (bool mute) |
IRtcEngine 类提供了供 app 调用的主要接口方法。
string agora_gaming_rtc.IRtcEngine.doFormat | ( | string | format, |
params object[] | args | ||
) |
|
static |
查询 SDK 版本号。
int agora_gaming_rtc.IRtcEngine.SetChannelProfile | ( | CHANNEL_PROFILE | profile | ) |
设置频道场景。
该方法用于设置频道场景。声网会针对不同的使用场景采用不同的优化策略,如通信场景偏好流畅,直播场景偏好画质。
profile | 频道属性: CHANNEL_PROFILE。 |
int agora_gaming_rtc.IRtcEngine.SetClientRole | ( | CLIENT_ROLE_TYPE | role | ) |
设置直播场景下的用户角色。
该方法在加入频道前后均可调用。如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:
MuteLocalAudioStream
和 MuteLocalVideoStream
修改发布状态。OnClientRoleChangedHandler
或 OnClientRoleChangeFailedHandler
。OnUserJoinedHandler
或 OnUserOfflineHandler(BECOME_AUDIENCE)
。role | 直播场景里的用户角色: CLIENT_ROLE_TYPE。 |
int agora_gaming_rtc.IRtcEngine.SetLogFilter | ( | LOG_FILTER | filter | ) |
设置日志输出等级。
设置声网 RTC SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING、INFO 和 DEBUG。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。
例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。
filter | 设置过滤等级: LOG_FILTER. |
int agora_gaming_rtc.IRtcEngine.SetLogFile | ( | string | filePath | ) |
设置声网 SDK 输出的日志文件。
默认情况下,SDK 会生成 agorasdk.log
、agorasdk_1.log
、agorasdk_2.log
、agorasdk_3.log
、agorasdk_4.log
这 5 个日志文件。 每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log
中。agorasdk.log
写满后,SDK 会从 1-4 中删除修改时间最早的一个文件, 然后将 agorasdk.log
重命名为该文件,并建立新的 agorasdk.log
写入最新的日志。
filePath | 日志文件的完整路径。请确保指定的目录存在而且可写。你可通过该参数修改日志文件名。 |
int agora_gaming_rtc.IRtcEngine.SetDefaultEngineSettings | ( | ) |
int agora_gaming_rtc.IRtcEngine.JoinChannel | ( | string | channelName, |
string | info, | ||
uint | uid | ||
) |
加入频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App 是不能互通的。如果已在通话中,用户必须调用 LeaveChannel 退出当前通话,才能进入下一个频道。
成功调用该方加入频道后,本地会触发 OnJoinChannelSuccessHandler 回调;通信场景下的用户和直播场景下的主播加入频道后,远端会触发 OnUserJoinedHandler 回调。 在网络状况不理想的情况下,客户端可能会与 声网的服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 OnReJoinChannelSuccessHandler 回调。
uid
设为 0,系统将自动分配一个 uid
。如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 uid
是不同的。Mute
方法实现。channelName | 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
|
info | (非必选项) 开发者需加入的任何附加信息。一般可设置为空字符串,或频道相关信息。该信息不会传递给频道内的其他用户。 |
uid | (非必选项) 用户ID,32位无符号整数。建议设置范围:1到 232-1,并保证唯一性。如果不指定(即设为0),SDK 会自动分配一个,并在 OnJoinChannelSuccessHandler 回调中返回,app 层必须记住该返回值并维护,SDK不对该返回值进行维护。 |
AgoraChannel
频道。AgoraChannel
加入了一个频道,并在该 AgoraChannel
频道中发布了音视频流。 int agora_gaming_rtc.IRtcEngine.JoinChannelByKey | ( | string | channelKey, |
string | channelName, | ||
string | info, | ||
uint | uid | ||
) |
使用 Token 加入频道。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App 是不能互通的。如果已在通话中,用户必须调用 LeaveChannel 退出当前通话,才能进入下一个频道。
成功调用该方加入频道后,本地会触发 OnJoinChannelSuccessHandler 回调;通信场景下的用户和直播场景下的主播加入频道后,远端会触发 OnUserJoinedHandler 回调。 在网络状况不理想的情况下,客户端可能会与声网的服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 OnReJoinChannelSuccessHandler 回调。
uid
设为 0,系统将自动分配一个 uid
。如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 uid
是不同的。Mute
方法实现。channelKey | 动态秘钥。
|
channelName | 标识通话的频道名称,长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):
|
info | (非必选项) 开发者需加入的任何附加信息。一般可设置为空字符串,或频道相关信息。该信息不会传递给频道内的其他用户。 |
uid | (非必选项) 用户ID,32位无符号整数。建议设置范围:1到 232-1,并保证唯一性。如果不指定(即设为0),SDK 会自动分配一个,并在 OnJoinChannelSuccessHandler 回调中返回,app 层必须记住该返回值并维护,SDK不对该返回值进行维护。 |
AgoraChannel
频道。AgoraChannel
加入了一个频道,并在该 AgoraChannel
频道中发布了音视频流。 int agora_gaming_rtc.IRtcEngine.RenewToken | ( | string | token | ) |
更新 Token。
该方法用于更新 Token。如果启用了 Token 机制,过一段时间后使用的 Token 会失效。当:
app 应重新获取 Token,然后调用该方法更新 Token,否则 SDK 无法和服务器建立连接。
token | 新的 Token。 |
int agora_gaming_rtc.IRtcEngine.LeaveChannel | ( | ) |
离开频道。
离开频道,即挂断或退出通话。
加入频道后,必须调用 LeaveChannel
结束通话,否则无法开始下一次通话。 不管当前是否在通话中,都可以调用 LeaveChannel
,没有副作用。该方法会把会话相关的所有资源释放掉。
该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 OnLeaveChannelHandler 回调。
成功调用该方法离开频道后,本地会触发 OnLeaveChannelHandler
回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 OnUserOfflineHandler 回调。
LeaveChannel
后立即调用 Destroy,SDK 将无法触发 OnLeaveChannelHandler
回调。LeaveChannel
方法, SDK 将自动调用 RemovePublishStreamUrl 方法。void agora_gaming_rtc.IRtcEngine.Pause | ( | ) |
void agora_gaming_rtc.IRtcEngine.Resume | ( | ) |
int agora_gaming_rtc.IRtcEngine.SetParameters | ( | string | parameters | ) |
通过 JSON 配置 SDK 提供技术预览或特别定制功能。
parameters | JSON 格式的字符串。 |
int agora_gaming_rtc.IRtcEngine.SetParameter | ( | string | parameter, |
int | value | ||
) |
int agora_gaming_rtc.IRtcEngine.SetParameter | ( | string | parameter, |
double | value | ||
) |
int agora_gaming_rtc.IRtcEngine.SetParameter | ( | string | parameter, |
bool | value | ||
) |
string agora_gaming_rtc.IRtcEngine.GetCallId | ( | ) |
int agora_gaming_rtc.IRtcEngine.Rate | ( | string | callId, |
int | rating, | ||
string | desc | ||
) |
给通话评分。
callId | 通话 GetCallId 函数获取的通话 ID。 |
rating | 给通话的评分,最低 1 分,最高 5 分。如超过这个范围,SDK 会返回 ERR_INVALID_ARGUMENT(2) 错误。 |
desc | (非必选项) 给通话的描述,可选,长度应小于 800 字节。 |
int agora_gaming_rtc.IRtcEngine.Complain | ( | string | callId, |
string | desc | ||
) |
投诉通话质量。
callId | 通话 GetCallId 函数获取的通话 ID。 |
desc | (非必选项) 给通话的描述,可选,长度应小于 800 字节。 |
int agora_gaming_rtc.IRtcEngine.EnableAudio | ( | ) |
启用音频模块。
启用音频模块(默认为开启状态)。
int agora_gaming_rtc.IRtcEngine.DisableAudio | ( | ) |
关闭音频模块。
int agora_gaming_rtc.IRtcEngine.MuteLocalAudioStream | ( | bool | mute | ) |
取消或恢复发布本地音频流。
自 v3.4.5 起,该方法仅设置用户在 IRtcEngine 频道中的音频发布状态。
成功调用该方法后,远端会触发 OnUserMutedAudioHandler 回调。
同一时间,本地的音视频流只能发布到一个频道。如果你创建了多个频道,请确保你只在一个频道中 调用 MuteLocalAudioStream (false), 否则方法会调用失败并返回 -5 (ERR_REFUSED)
。
mute | 是否取消发布本地音频流。
|
-5 (ERR_REFUSED)
: 调用被拒绝。 int agora_gaming_rtc.IRtcEngine.MuteAllRemoteAudioStreams | ( | bool | mute | ) |
取消或恢复订阅所有远端用户的音频流。
自 v3.3.1 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。
mute | 是否取消订阅所有远端用户的音频流。
|
int agora_gaming_rtc.IRtcEngine.MuteRemoteAudioStream | ( | uint | uid, |
bool | mute | ||
) |
取消或恢复订阅指定远端用户的音频流。
uid | 指定用户的用户 ID。 |
mute | 是否取消订阅指定远端用户的音频流。
|
int agora_gaming_rtc.IRtcEngine.SetEnableSpeakerphone | ( | bool | speakerphone | ) |
启用/关闭扬声器播放。
该方法设置是否将语音路由设到扬声器(外放)。 你可以在 SetDefaultAudioRouteToSpeakerphone 方法中查看默认的语音路由。
在 Android 上,SetAudioProfile 中 scenario
及 SetChannelProfile 的设置 会影响 SetEnableSpeakerphone
的行为。SetEnableSpeakerphone
不生效的情况如下:
scenario
为 AUDIO_SCENARIO_GAME_STREAMING
时,所有用户都无法切换音频播放路由。scenario
为 AUDIO_SCENARIO_DEFAULT
或 AUDIO_SCENARIO_SHOWROOM
时,直播场景中的观众无法切换音频播放路由,且当频道中只有一个主播时,该主播也无法切换音频播放路由。scenario
为 AUDIO_SCENARIO_EDUCATION
时,直播场景中的观众无法切换音频播放路由。speakerphone | 设置是否切换语音路由到扬声器(外放):
|
int agora_gaming_rtc.IRtcEngine.SetDefaultAudioRouteToSpeakerphone | ( | bool | speakerphone | ) |
设置默认的语音路由
该方法设置接收到的语音从听筒或扬声器出声。如果用户不调用本方法,语音默认从听筒出声。
各频道场景下默认的语音路由:
speakerphone | 设置默认的语音路由。
|
bool agora_gaming_rtc.IRtcEngine.IsSpeakerphoneEnabled | ( | ) |
查询扬声器启用状态。
int agora_gaming_rtc.IRtcEngine.SwitchCamera | ( | ) |
切换前置/后置摄像头
int agora_gaming_rtc.IRtcEngine.SetVideoProfile | ( | VIDEO_PROFILE_TYPE | profile, |
bool | swapWidthAndHeight | ||
) |
设置视频编码配置。
该方法设置视频编码属性(Profile)。每个属性对应一套视频参数,如分辨率、帧率、码率等。 当设备的摄像头不支持指定的分辨率时,声网 SDK 会自动选择一个合适的摄像头分辨率,但是编码分辨率仍然用 SetVideoProfile
指定的。
swapWidthAndHeight
设置为默认值 false
。profile | 视频属性。详见: VIDEO_PROFILE_TYPE. |
swapWidthAndHeight | SDK 会按照你选择的视频属性 (profile) 输出固定宽高的视频。该参数设置是否交换宽和高:
|
int agora_gaming_rtc.IRtcEngine.MuteLocalVideoStream | ( | bool | mute | ) |
取消或恢复发布本地视频流。
自 v3.4.5 起,该方法仅设置用户在 IRtcEngine 频道中的视频发布状态。
成功调用该方法后,远端会触发 OnUserMuteVideoHandler 回调。
同一时间,本地的音视频流只能发布到一个频道。如果你创建了多个频道,请确保你只在一个频道中 调用 MuteLocalVideoStream (false), 否则方法会调用失败并返回 -5 (ERR_REFUSED)
。
mute | 是否取消发布本地视频流。
|
-5 (ERR_REFUSED)
: 调用被拒绝。 int agora_gaming_rtc.IRtcEngine.MuteAllRemoteVideoStreams | ( | bool | mute | ) |
取消或恢复订阅所有远端用户的视频流。
自 v3.3.1 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。
mute | 是否取消订阅所有远端用户的视频流。
|
int agora_gaming_rtc.IRtcEngine.MuteRemoteVideoStream | ( | uint | uid, |
bool | mute | ||
) |
取消或恢复订阅指定远端用户的视频流。
uid | 指定用户的用户 ID。 |
mute | 是否取消订阅指定远端用户的视频流。
|
int agora_gaming_rtc.IRtcEngine.EnableDualStreamMode | ( | bool | enabled | ) |
开关双流模式。
该方法设置单流(默认)或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
enabled | 设置单流或双流模式。
|
int agora_gaming_rtc.IRtcEngine.SetEncryptionMode | ( | string | encryptionMode | ) |
设置内置的加密模式。
声网 Video SDK 支持内置加密模式,默认支持 AES-128-XTS。如需采用其他加密模式,可以调用本方法。同一频道内的所有用户必须设置相同的加密模式和加密密钥才能进行通话。关于这几种加密方式的区别,请参考 AES 加密算法的相关资料。
encryptionMode | 加密模式:
|
int agora_gaming_rtc.IRtcEngine.SetEncryptionSecret | ( | string | secret | ) |
启用内置加密,并设置数据加密密钥。
在加入频道之前,app 需调用 SetEncryptionSecret
方法指定加密密钥来启用内置的加密功能,同一频道内的所有用户应设置相同的加密密钥。当用户离开频道时,该频道的加密密钥会自动清除。如果未指定加密密钥或将加密密钥设置为空,则无法激活加密功能。
secret | 加密密码。 |
int agora_gaming_rtc.IRtcEngine.CreateDataStream | ( | bool | reliable, |
bool | ordered | ||
) |
创建数据流。
该方法用于创建数据流。IRtcEngine 生命周期内,每个用户最多只能创建 5 个数据流。频道内数据通道最多允许数据延迟 5 秒,若超过 5 秒接收方尚未收到数据流,则数据通道会向 app 报错。
reliable
设为 true
且 ordered
设为 false
。reliable |
|
ordered |
|
int agora_gaming_rtc.IRtcEngine.CreateDataStream | ( | DataStreamConfig | config | ) |
创建数据流。
该方法用于创建数据流。每个用户在每个频道内最多只能创建 5 个数据流。
相比 CreateDataStream1, 本方法不支持数据可靠,接收方会丢弃超出发送时间 5 秒后的数据包。
config | 数据流设置:DataStreamConfig |
int agora_gaming_rtc.IRtcEngine.SendStreamMessage | ( | int | streamId, |
string | data | ||
) |
发送数据流。
该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制:频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。 API 须对数据通道的传送速率进行控制: 每个客户端每秒最多能发送 6 KB 数据。频道内每人最多能同时有 5 个数据通道。
成功调用该方法后,远端会触发 OnStreamMessageHandler 回调,远端用户可以在该回调中获取接收到的流消息;若调用失败,远端会触发 OnStreamMessageHandler
回调。
streamId | 由 CreateDataStream 返回的数据流 ID。 |
data | 自定义数据。 |
int agora_gaming_rtc.IRtcEngine.SetSpeakerphoneVolume | ( | int | volume | ) |
设置扬声器音量。
volume | 扬声器音量,0 (音量最低) 到 255 (音量最高) 的整数。 |
int agora_gaming_rtc.IRtcEngine.SetVideoQualityParameters | ( | bool | preferFrameRateOverImageQuality | ) |
设置视频质量偏好选项。
该方法仅适用于直播场景。在网络条件不好或者设备性能不足影响到直播体验的情况下,可以使用该方法设置是否要优先保障流畅度。
preferFrameRateOverImageQuality | 画质和流畅度里,是否优先保障流畅度:
|
int agora_gaming_rtc.IRtcEngine.StartEchoTest | ( | ) |
开始语音通话回路测试。
该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。 在测试过程中,用户先说一段话,在 10 秒后,声音会回放出来。如果 10 秒后用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。
StartEchoTest
后必须调用 StopEchoTest 以结束测试,否则不能进行下一次回声测试,或者调用 JoinChannelByKey 进行通话。int agora_gaming_rtc.IRtcEngine.StartEchoTest | ( | int | intervalInSeconds | ) |
开始语音通话回路测试。
该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在设置的时间间隔后回放出来。如果用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。
intervalInSeconds | 返回语音通话回路测试结果的时间间隔,取值范围为 [2,10],单位为秒,默认值为 10 秒。 |
int agora_gaming_rtc.IRtcEngine.StartEchoTest | ( | EchoTestConfiguration | config | ) |
开始音视频通话回路测试。
加入频道前,为测试用户本地发流、收流是否正常,你可以调用该方法进行音视频通话回路测试,即测试系统的音视频设备和用户的上下行网络是否正常。
开始测试后,用户需发出声音或面对摄像头,音频或视频会在约 2 秒后播放出来。如果音频播放正常,则表示系统音频设备和用户上下行网络均正常; 如果视频播放正常,则表示系统视频设备和用户上下行网络均正常。
config | 音视频通话回路测试的配置。详见 EchoTestConfiguration 。 |
int agora_gaming_rtc.IRtcEngine.StopEchoTest | ( | ) |
停止语音通话回路测试。
int agora_gaming_rtc.IRtcEngine.StartLastmileProbeTest | ( | LastmileProbeConfig | lastmileProbeConfig | ) |
开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。
启用该方法后,SDK 会依次返回如下 2 个回调:
该方法主要用于以下两种场景:
OnLastmileQualityHandler
和 OnLastmileProbeResultHandler
回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。lastmileProbeConfig | Last mile 网络探测配置,详见 LastmileProbeConfig 。 |
int agora_gaming_rtc.IRtcEngine.StopLastmileProbeTest | ( | ) |
停止通话前网络质量探测。
int agora_gaming_rtc.IRtcEngine.AddVideoWatermark | ( | RtcImage | rtcImage | ) |
添加本地视频水印。
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的观众,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。 如果你仅仅希望在旁路直播推流中添加水印,请参考 SetLiveTranscoding 中描述的用法。
rtcImage | 待添加在本地直播推流中的水印图片:RtcImage 。 |
int agora_gaming_rtc.IRtcEngine.AddVideoWatermark | ( | string | watermarkUrl, |
WatermarkOptions | watermarkOptions | ||
) |
添加本地视频水印。
该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的观众、旁路直播观众和采集设备都能看到或采集到该水印图片。声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
水印坐标和 SetVideoEncoderConfiguration 方法中的设置有依赖关系:
SetVideoEncoderConfiguration
方法中设置的视频尺寸,否则超出部分将被裁剪。visibleInPreview
可设置水印在预览时是否可见。watermarkUrl | 待添加的水印图片的本地路径。本方法支持从本地绝对/相对路径添加水印图片。 在 Android 上访问本地文件时,声网推荐填入 URI 地址或以 /assets/ 开头的路径。 |
watermarkOptions | 待添加的水印图片的设置选项,详见 WatermarkOptions 。 |
int agora_gaming_rtc.IRtcEngine.ClearVideoWatermarks | ( | ) |
删除已添加的视频水印。
int agora_gaming_rtc.IRtcEngine.SetRemoteVideoStreamType | ( | uint | uid, |
REMOTE_VIDEO_STREAM_TYPE | streamType | ||
) |
设置订阅的视频流类型。
如果发送端选择发送视频双流 (大流,即高分辨率、高码率视频流,或小流,即低分辨率、低码率视频流),接收端可以选择接收大流还是小流。该方法可以根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。
调用本方法的执行结果将在 OnApiExecutedHandler 中返回。
SetRemoteVideoStreamType
,也调用了 SetRemoteDefaultVideoStreamType,则 SDK 以 SetRemoteVideoStreamType
中的设置为准。uid | 用户 ID。 |
streamType | 视频流类型: REMOTE_VIDEO_STREAM_TYPE. |
int agora_gaming_rtc.IRtcEngine.SetMixedAudioFrameParameters | ( | int | sampleRate, |
int | samplesPerCall | ||
) |
设置采集与播放声音混音后的数据格式。
samplesPerCall
、sampleRate
和 AudioFrame 中的 channels
参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall
/(sampleRate
× channels
)。请确保采样间隔不得小于 0.01 (s)。SDK 会根据该采样间隔触发 OnMixedAudioFrameHandler 回调。sampleRate | 指定 OnMixedAudioFrameHandler 中返回数据的采样率,可设置为 8000,16000,32000,44100 或 48000。 |
samplesPerCall | 指定 OnMixedAudioFrameHandler 中返回数据的采样点数,如转码推流应用中通常为 1024。 |
int agora_gaming_rtc.IRtcEngine.SetAudioMixingPosition | ( | int | pos | ) |
设置音乐文件的播放位置。该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
pos | 整数。进度条位置,单位为毫秒。 |
int agora_gaming_rtc.IRtcEngine.EnableAudioVolumeIndication | ( | int | interval, |
int | smooth, | ||
bool | report_vad | ||
) |
启用用户音量提示。
该方法允许 SDK 定期向 app 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户,SDK 会在加入频道后按设置的时间间隔触发 OnVolumeIndicationHandler 回调。
interval | 指定音量提示的时间间隔:
|
smooth | 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 |
report_vad |
|
int agora_gaming_rtc.IRtcEngine.AdjustRecordingSignalVolume | ( | int | volume | ) |
调节麦克风采集信号音量。
volume | 麦克风采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 |
int agora_gaming_rtc.IRtcEngine.AdjustPlaybackSignalVolume | ( | int | volume | ) |
调节本地播放的所有远端用户的信号音量。
AdjustPlaybackSignalVolume
和 AdjustAudioMixingVolume 方法,并将 volume
参数设置为 0。volume | 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 |
int agora_gaming_rtc.IRtcEngine.StartAudioMixing | ( | string | filePath, |
bool | loopback, | ||
bool | replace, | ||
int | cycle | ||
) |
开始播放音乐文件。
指定本地或在线音频文件来和麦克风采集的音频流进行混音和替换。替换是指用音频文件替换采集设备采集的音频流。该方法可以选择是否让对方听到本地播放的音频并指定循环播放的次数。成功调用该方法后,本地会触发 OnAudioMixingStateChangedHandler(PLAYING) 回调。播放结束后,会收到 OnAudioMixingStateChangedHandler(STOPPED)
回调。
WARN_AUDIO_MIXING_OPEN_ERROR(701)
。filePath
是 HTTP 格式的 URL,则需要先在项目 AndroidManifest.xml 文件的 <application>
标签中添加 android:usesCleartextTraffic="true"
。filePath | 指定需要混音的本地或在线音频文件的绝对路径。建议填写文件后缀名。如果无法确定文件后缀名,可不填。支持的音频格式包括:3GP、ASF、ADTS、AVI、MP3、MP4、MPEG-4、SAMI 和 WAVE。 详见:Supported Media Formats in Media Foundation。 在 Android 上访问本地文件时,声网推荐填入 URI 地址或以 /assets/ 开头的路径。 |
loopback |
|
replace |
|
cycle | 循环播放次数:
|
int agora_gaming_rtc.IRtcEngine.StartAudioMixing | ( | string | filePath, |
bool | loopback, | ||
bool | replace, | ||
int | cycle, | ||
int | startPos | ||
) |
开始播放音乐文件。
该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地 会触发 OnAudioMixingStateChangedHandler(AUDIO_MIXING_STATE_PLAYING,AUDIO_MIXING_REASON_STARTED_BY_USER)
回调。 播放结束后,本地会触发 OnAudioMixingStateChangedHandler(AUDIO_MIXING_STATE_STOPPED,AUDIO_MIXING_REASON_ALL_LOOPS_COMPLETED)
回调。
StartAudioMixing
,请确保调用间隔大于 500 ms。WARN_AUDIO_MIXING_OPEN_ERROR
(701)。filePath
是 HTTP 格式的 URL,则需要先在项目 AndroidManifest.xml 文件的 <application>
标签中添加 android:usesCleartextTraffic="true"
。/sdcard/
目录下,且格式为 MP3。filePath | 音乐文件的绝对路径或 URL 地址,需精确到文件名及后缀。 例如:C:\music\audio.mp4 。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。 详见 Supported Media Formats in Media Foundation。 在 Android 上访问本地文件时,声网推荐填入 URI 地址或以 /assets/ 开头的路径。 |
loopback | 是否只在本地播放音乐文件:
|
replace | 是否用音乐文件替换麦克风采集的音频:
|
cycle | 音乐文件的播放次数。
|
startPos | 音乐文件的播放位置,单位为毫秒。 |
int agora_gaming_rtc.IRtcEngine.StopAudioMixing | ( | ) |
停止播放音乐文件。
该方法停止播放音乐文件。请在频道内调用该方法。
int agora_gaming_rtc.IRtcEngine.PauseAudioMixing | ( | ) |
暂停播放音乐文件。
该方法暂停播放音乐文件。请在频道内调用该方法。
int agora_gaming_rtc.IRtcEngine.ResumeAudioMixing | ( | ) |
恢复播放音乐文件。
该方法恢复混音,继续播放音乐文件。请在频道内调用该方法。
int agora_gaming_rtc.IRtcEngine.AdjustAudioMixingVolume | ( | int | volume | ) |
调节音乐文件的播放音量。
该方法调节混音音乐文件在本端和远端的播放音量大小。
volume | 音乐文件音量范围为 [0,100]。
|
int agora_gaming_rtc.IRtcEngine.GetAudioMixingDuration | ( | ) |
获取音乐文件总时长。
该方法获取音乐文件总时长,单位为毫秒。请在频道内调用该方法。
int agora_gaming_rtc.IRtcEngine.GetAudioMixingDuration | ( | string | filePath | ) |
获取指定音乐文件总时长。
filePath | 本地音乐文件的绝对路径,需精确到文件名及后缀。例如:C:\music\audio.mp4 。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。 详见 Supported Media Formats in Media Foundation 。 在 Android 上访问本地文件时,声网推荐填入 URI 地址或以 /assets/ 开头的路径。 |
int agora_gaming_rtc.IRtcEngine.GetAudioMixingCurrentPosition | ( | ) |
获取音乐文件的播放进度。
该方法获取当前音乐文件播放进度,单位为毫秒。请在频道内调用该方法。
int agora_gaming_rtc.IRtcEngine.StartAudioRecording | ( | string | filePath, |
AUDIO_RECORDING_QUALITY_TYPE | quality | ||
) |
开始客户端录音。
声网 RTC SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为:
请确保 app 里指定的目录存在且可写。该接口需在 JoinChannelByKey 之后调用。如果调用 LeaveChannel 时还在录音,录音会自动停止。
filePath | 录音文件的本地保存路径,由用户自行指定,需精确到文件名及格式,例如:/dir1/dir2/dir3/audio.aac。 |
quality | 设置录音质量。详见 AUDIO_RECORDING_QUALITY_TYPE. |
int agora_gaming_rtc.IRtcEngine.StartAudioRecording | ( | string | filePath, |
int | sampleRate, | ||
AUDIO_RECORDING_QUALITY_TYPE | quality | ||
) |
开始客户端录音。
声网 RTC SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为:
sampleRate
设为 441000 Hz 或 48000 Hz 时,建议将 quality
设为 AUDIO_RECORDING_QUALITY_MEDIUM(1) 或 AUDIO_RECORDING_QUALITY_HIGH(2)。filePath | 录音文件在本地保存的绝对路径,由用户自行指定,需精确到文件名及格式,例如:/dir1/dir2/dir3/audio.aac。 |
sampleRate | 录音采样率(Hz),可以设为以下值:
|
quality | 录音音质。详见 AUDIO_RECORDING_QUALITY_TYPE 。 |
int agora_gaming_rtc.IRtcEngine.StopAudioRecording | ( | ) |
IAudioEffectManager agora_gaming_rtc.IRtcEngine.GetAudioEffectManager | ( | ) |
获取 AudioEffectManagerImpl 对象。
IAudioRecordingDeviceManager agora_gaming_rtc.IRtcEngine.GetAudioRecordingDeviceManager | ( | ) |
获取 AudioRecordingDeviceManager 对象。
IAudioPlaybackDeviceManager agora_gaming_rtc.IRtcEngine.GetAudioPlaybackDeviceManager | ( | ) |
获取 AudioPlaybackDeviceManager 对象。
IVideoDeviceManager agora_gaming_rtc.IRtcEngine.GetVideoDeviceManager | ( | ) |
获取 VideoDeviceManager 对象。
IAudioRawDataManager agora_gaming_rtc.IRtcEngine.GetAudioRawDataManager | ( | ) |
获取 AudioRawDataManager 对象。
IVideoRawDataManager agora_gaming_rtc.IRtcEngine.GetVideoRawDataManager | ( | ) |
获取 VideoRawDataManager 对象。
IVideoRender agora_gaming_rtc.IRtcEngine.GetVideoRender | ( | ) |
IMediaRecorder agora_gaming_rtc.IRtcEngine.GetMediaRecorder | ( | ) |
int agora_gaming_rtc.IRtcEngine.EnableVideo | ( | ) |
启用视频模块。
该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。 调用 DisableVideo 方法可关闭视频模式。
成功调用该方法后,远端会触发 OnUserEnableVideoHandler(true) 回调。
EnableVideo
和 EnableVideoObserver 方法。int agora_gaming_rtc.IRtcEngine.DisableVideo | ( | ) |
关闭视频模块。
该方法可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频频模式。 调用 EnableVideo 方法可开启视频模式。
成功调用该方法后,远端会触发 OnUserEnableVideoHandler(false) 回调。
DisableVideo
和 DisableVideoObserver 方法。int agora_gaming_rtc.IRtcEngine.EnableLocalVideo | ( | bool | enabled | ) |
开关本地视频采集。
该方法禁用或重新启用本地视频采集,不影响接收远端视频。
调用 EnableVideo 后,本地视频即默认开启。你可以调用 EnableLocalVideo(false)
关闭本地视频采集。关闭后如果想要重新开启,则可调用 EnableLocalVideo(true)
。
成功禁用或启用本地视频采集后,远端会触发 OnUserEnableLocalVideoHandler 回调。
enabled |
|
int agora_gaming_rtc.IRtcEngine.EnableLocalAudio | ( | bool | enabled | ) |
开关本地音频采集。
当用户加入频道时,语音功能默认是开启的。该方法可以关闭或重新开启本地语音功能,即停止或重新开始本地音频采集。
该方法不影响接收或播放远端音频流,EnableLocalAudio(false)
适用于只听不发的用户场景。
语音功能关闭或重新开启后,会收到回调 OnLocalAudioStateChangedHandler,并报告 LOCAL_AUDIO_STREAM_STATE_STOPPED(0)
或 LOCAL_AUDIO_STREAM_STATE_RECORDING(1)
。
EnableLocalAudio
: 开启或关闭本地语音采集及处理。使用 EnableLocalAudio
关闭或开启本地采集后,本地听远端播放会有短暂中断。MuteLocalAudioStream
: 停止或继续发送本地音频流。enabled |
|
int agora_gaming_rtc.IRtcEngine.StartPreview | ( | ) |
开启视频预览。
该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须调用 EnableVideo 开启视频功能。
int agora_gaming_rtc.IRtcEngine.StopPreview | ( | ) |
停止视频预览。
int agora_gaming_rtc.IRtcEngine.EnableVideoObserver | ( | ) |
开启视频观测器。
该方法直接将视频图片发送给 App,而无需经过传统的视图渲染器。
EnableVideoObserver
方法。int agora_gaming_rtc.IRtcEngine.DisableVideoObserver | ( | ) |
关闭视频观测器。
该方法禁止直接将视频图片发送给 App。
DisableVideoObserver
方法。int agora_gaming_rtc.IRtcEngine.SetDefaultMuteAllRemoteAudioStreams | ( | bool | mute | ) |
默认取消或恢复订阅远端用户的音频流。
该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。
mute | 是否默认取消订阅远端用户的音频流:
|
int agora_gaming_rtc.IRtcEngine.SetDefaultMuteAllRemoteVideoStreams | ( | bool | mute | ) |
默认取消或恢复订阅远端用户的视频流。
该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。
mute | 是否默认取消订阅远端用户的视频流:
|
int agora_gaming_rtc.IRtcEngine.EnableLastmileTest | ( | ) |
启动网络测试。
该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景:
启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 OnLastmileQualityHandler 回调后调用 DisableLastmileTest 停止测试,再加入频道或切换为主播。
OnLastmileQualityHandler
回调前请勿调用其他方法,否则可能由于 API 操作过于频繁导致回调无法执行。int agora_gaming_rtc.IRtcEngine.DisableLastmileTest | ( | ) |
关闭网络测试。
CONNECTION_STATE_TYPE agora_gaming_rtc.IRtcEngine.GetConnectionState | ( | ) |
int agora_gaming_rtc.IRtcEngine.SetAudioProfile | ( | AUDIO_PROFILE_TYPE | audioProfile, |
AUDIO_SCENARIO_TYPE | scenario | ||
) |
设置音频编码属性。
JoinChannelByKey
之后设置不生效。audioProfile
设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4),scenario
设置为 AUDIO_SCENARIO_GAME_STREAMING(3)。audioProfile | 设置采样率,码率,编码模式和声道数: AUDIO_PROFILE_TYPE. |
scenario | 设置音频应用场景: AUDIO_SCENARIO_TYPE 。不同的音频场景下,设备的音量类型是不同的。详见如何区分媒体音量和通话音量。 |
int agora_gaming_rtc.IRtcEngine.SetVideoEncoderConfiguration | ( | VideoEncoderConfiguration | configuration | ) |
设置本地视频的编码属性。
configuration | 视频编码参数配置。详见: VideoEncoderConfiguration 。 |
int agora_gaming_rtc.IRtcEngine.AdjustAudioMixingPlayoutVolume | ( | int | volume | ) |
调节音乐文件本端播放音量。
该方法调节混音音乐文件在本端的播放音量大小。
volume | 音乐文件音量范围为 [0,100]。100 (默认值) 为原始文件音量。 |
int agora_gaming_rtc.IRtcEngine.AdjustAudioMixingPublishVolume | ( | int | volume | ) |
调节音乐文件远端播放音量。
该方法调节混音音乐文件在远端的播放音量大小。
volume | 音乐文件音量范围为 [0,100]。100 (默认值) 为原始文件音量。 |
int agora_gaming_rtc.IRtcEngine.SetVolumeOfEffect | ( | int | soundId, |
int | volume | ||
) |
实时调整音效文件的播放音量。
soundId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 播放音量。音量范围为 [0,100]。100 (默认值)为原始文件音量。 |
int agora_gaming_rtc.IRtcEngine.SetRecordingAudioFrameParameters | ( | int | sampleRate, |
int | channel, | ||
RAW_AUDIO_FRAME_OP_MODE_TYPE | mode, | ||
int | samplesPerCall | ||
) |
设置采集的声音格式。
该方法设置 OnRecordAudioFrameHandler 回调的采集声音格式。
samplesPerCall
、sampleRate
和 channel
参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall
/(sampleRate
× channel
)。请确保采样间隔不得小于 0.01 (s)。SDK 会根据该采样间隔触发 OnRecordAudioFrameHandler
回调。sampleRate | 指定 OnRecordAudioFrameHandler 中返回数据的采样率,可设置为 8000、 16000、 32000、 44100 或 48000。 |
channel | 指定 OnRecordAudioFrameHandler 中返回数据的通道数,可设置为 1 或 2:
|
mode | 指定 OnRecordAudioFrameHandler 回调的使用模式: RAW_AUDIO_FRAME_OP_MODE_TYPE 。 |
samplesPerCall | 指定 OnRecordAudioFrameHandler 中返回数据的采样点数,如 RTMP/RTMPS 推流应用中通常为 1024。 |
int agora_gaming_rtc.IRtcEngine.SetPlaybackAudioFrameParameters | ( | int | sampleRate, |
int | channel, | ||
RAW_AUDIO_FRAME_OP_MODE_TYPE | mode, | ||
int | samplesPerCall | ||
) |
设置播放的声音格式。
samplesPerCall
、sampleRate
和 channel
参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall
/(sampleRate
× channel
)。请确保采样间隔不得小于 0.01 (s)。SDK 会根据该采样间隔触发 OnPlaybackAudioFrameHandler
回调。sampleRate | 指定 OnPlaybackAudioFrameHandler 中返回数据的采样率,可设置为 8000,16000,32000,44100 或 48000。 |
channel | 指定 OnPlaybackAudioFrameHandler 中返回数据的通道数,可设置为 1 或 2:
|
mode | 指定 OnPlaybackAudioFrameHandler 的使用模式: RAW_AUDIO_FRAME_OP_MODE_TYPE 。 |
samplesPerCall | 指定 OnPlaybackAudioFrameHandler 中返回数据的采样点数,如 RTMP/RTMPS 推流应用中通常为 1024。 |
int agora_gaming_rtc.IRtcEngine.SetLocalPublishFallbackOption | ( | STREAM_FALLBACK_OPTIONS | option | ) |
设置弱网条件下发布的音视频流回退选项。
网络不理想的环境下,直播音视频的质量都会下降。使用该接口并将 option
设置为 STREAM_FALLBACK_OPTION_AUDIO_ONLY(2) 后,SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 OnLocalPublishFallbackToAudioOnlyHandler 回调。
option | 本地推流回退处理选项: STREAM_FALLBACK_OPTIONS 。 |
int agora_gaming_rtc.IRtcEngine.SetRemoteSubscribeFallbackOption | ( | STREAM_FALLBACK_OPTIONS | option | ) |
设置弱网条件下订阅的音视频流的回退选项。
默认 option
为 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW(1)。如果你使用本方法并将 option
设置为 STREAM_FALLBACK_OPTION_AUDIO_ONLY(2),SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。
当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 OnRemoteSubscribeFallbackToAudioOnlyHandler 回调。
option | 详见 STREAM_FALLBACK_OPTIONS 。 |
int agora_gaming_rtc.IRtcEngine.SetRemoteDefaultVideoStreamType | ( | REMOTE_VIDEO_STREAM_TYPE | remoteVideoStreamType | ) |
设置默认订阅的视频流类型。
如果发送端选择发送视频双流 (大流,即高分辨率、高码率视频流,或小流,即低分辨率、低码率视频流),接收端可以选择接收大流还是小流。
调用本方法的执行结果将在下文的 OnApiExecutedHandler 中返回。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
SetRemoteDefaultVideoStreamType
,也调用了 SetRemoteVideoStreamType,则 SDK 以 SetRemoteVideoStreamType
中的设置为准。remoteVideoStreamType | 视频流类型: REMOTE_VIDEO_STREAM_TYPE 。 |
int agora_gaming_rtc.IRtcEngine.AddPublishStreamUrl | ( | string | url, |
bool | transcodingEnabled | ||
) |
增加旁路推流地址。
调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 OnRtmpStreamingStateChangedHandler 回调,报告增加旁路推流地址的状态。
url | CDN 推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节。url 不支持中文字符等特殊字符。 |
transcodingEnabled |
|
ERR_INVALID_ARGUMENT(-2)
: URL 为空或是长度为 0 的的字符串。ERR_NOT_INITIALIZED(-7)
: 推流时未初始化引擎。 int agora_gaming_rtc.IRtcEngine.RemovePublishStreamUrl | ( | string | url | ) |
删除旁路推流地址。
调用该方法后,SDK 会在本地触发 OnRtmpStreamingStateChangedHandler 回调,报告删除旁路推流地址的状态。
url | 待删除的旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节。 |
|
static |
int agora_gaming_rtc.IRtcEngine.EnableWebSdkInteroperability | ( | bool | enabled | ) |
打开直播场景下与声网 Web SDK 的互通。
enabled |
|
int agora_gaming_rtc.IRtcEngine.SetLiveTranscoding | ( | LiveTranscoding | transcoding | ) |
设置直播推流转码。
该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 OnTranscodingUpdatedHandler 回调。
OnTranscodingUpdatedHandler
回调。transcoding | 详见 LiveTranscoding 。 |
int agora_gaming_rtc.IRtcEngine.PushVideoFrame | ( | ExternalVideoFrame | externalVideoFrame | ) |
使用 ExternalVideoFrame 将视频帧数据传递给声网 RTC SDK。 更多信息请参考进阶功能《自定义视频采集和渲染》。
externalVideoFrame | 待传输的视频帧。详见 ExternalVideoFrame。 |
int agora_gaming_rtc.IRtcEngine.SetExternalVideoSource | ( | bool | enable, |
bool | useTexture = false |
||
) |
配置外部视频源。
enable | 是否使用外部视频源:
|
useTexture | 是否使用 Texture 作为输入(现不支持使用 Texture 作为输入,请用默认值 false ):
|
int agora_gaming_rtc.IRtcEngine.SetExternalAudioSource | ( | bool | enabled, |
int | sampleRate, | ||
int | channels | ||
) |
设置外部音频采集参数。
enabled |
|
sampleRate | 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 |
channels | 外部音频源的通道数,可设置为 1 或 2:
|
int agora_gaming_rtc.IRtcEngine.PushAudioFrame | ( | AudioFrame | audioFrame | ) |
推送外部音频帧。
更多信息请参考进阶功能《自定义音频采集和渲染》。
audioFrame | 详见 AudioFrame。 |
int agora_gaming_rtc.IRtcEngine.PushAudioFrame | ( | int | sourcePos, |
AudioFrame | audioFrame | ||
) |
推送外部音频帧到指定位置。
根据实际需求,你可以将外部音频帧推送到音频采集后、编码前或本地播放前的位置。你可以多次调用该方法,将一个音频帧推送到多个位置或者将多个音频 帧推送到不同位置。例如,在 KTV 场景中,你可以将歌声推送到音频采集后的位置,让歌声经过 SDK 音频模块的处理,从而获取优质的音频体验;将伴奏 推送到音频编码前的位置,让伴奏不受 SDK 音频模块的影响。
sourcePos | 外部音频帧的推送位置。 |
audioFrame | 外部音频帧。音频帧长度范围为 [10,60],单位为 ms。 |
-2(ERR_INVALID_ARGUMENT)
: 无效参数。-12 (ERR_TOO_OFTEN)
: 调用频率太高,导致内部缓冲区溢出。建议在 30~50 ms 后重新调用该方法。 int agora_gaming_rtc.IRtcEngine.GetAudioMixingPlayoutVolume | ( | ) |
获取音乐文件的本地播放音量。
该方法获取混音的音乐文件本地播放音量,方便排查音量相关问题。
int agora_gaming_rtc.IRtcEngine.GetAudioMixingPublishVolume | ( | ) |
获取音乐文件的远端播放音量。
该接口可以方便开发者排查音量相关问题。
int agora_gaming_rtc.IRtcEngine.EnableSoundPositionIndication | ( | bool | enabled | ) |
开启/关闭远端用户的语音立体声。
enabled | 是否开启远端用户语音立体声:
|
int agora_gaming_rtc.IRtcEngine.SetLocalVoiceChanger | ( | VOICE_CHANGER_PRESET | voiceChanger | ) |
设置本地语音变声、美音或语聊美声效果。
通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。
VOICE_CHANGER
为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。VOICE_BEAUTY
为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。GENERAL_BEAUTY_VOICE
为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各自的特点。profile
参数设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。voiceChanger | 预设本地语音变声、美音或语聊美声效果选项,默认值为 VOICE_CHANGER_OFF ,即原声。详见 VOICE_CHANGER_PRESET 。 设置语聊美声效果时,声网推荐使用 GENERAL_BEAUTY_VOICE_MALE_MAGNETIC 处理男声,使用 GENERAL_BEAUTY_VOICE_FEMALE_FRESH 或 GENERAL_BEAUTY_VOICE_FEMALE_VITALITY 处理女声,否则音频可能会产生失真。 |
int agora_gaming_rtc.IRtcEngine.SetLocalVoiceReverbPreset | ( | AUDIO_REVERB_PRESET | audioReverbPreset | ) |
设置本地语音混响(含虚拟立体声效果)。
通信场景下的用户或直播场景下的主播均可调用该方法设置本地语音混响。成功设置以后,频道内的所有用户均可听到声音效果。
AUDIO_REVERB_FX
为前缀的枚举值时,请确保在调用该方法前将 SetAudioProfile 的 profile
参数设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。AUDIO_VIRTUAL_STEREO
时,声网推荐在调用该方法前将 setAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。audioReverbPreset | 本地语音混响选项,默认值为 AUDIO_REVERB_OFF ,即原声。详见 AUDIO_REVERB_PRESET 。 为达到更好的混响效果,声网推荐使用以 AUDIO_REVERB_FX 为前缀的枚举值。 |
int agora_gaming_rtc.IRtcEngine.SetLocalVoicePitch | ( | double | pitch | ) |
设置本地语音音调。
pitch | 语音频率可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 |
int agora_gaming_rtc.IRtcEngine.SetLocalVoiceEqualization | ( | AUDIO_EQUALIZATION_BAND_FREQUENCY | bandFrequency, |
int | bandGain | ||
) |
设置本地语音音效均衡。
bandFrequency | 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 AUDIO_EQUALIZATION_BAND_FREQUENCY 。 |
bandGain | 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15]。 |
int agora_gaming_rtc.IRtcEngine.SetLocalVoiceReverb | ( | AUDIO_REVERB_TYPE | reverbKey, |
int | value | ||
) |
设置本地音效混响。
reverbKey | 混响音效类型,详见 AUDIO_REVERB_TYPE 。 |
value | 各混响音效 Key 所对应的值。 |
int agora_gaming_rtc.IRtcEngine.SetCameraCapturerConfiguration | ( | CameraCapturerConfiguration | cameraCaptureConfiguration | ) |
设置摄像头采集配置。
一般的视频通话或直播中,默认由 SDK 自动控制摄像头的输出参数。在如下特殊场景中,默认的参数通常无法满足需求,或可能引起设备性能问题,我们推荐调用该方法设置摄像头的采集偏好:
cameraCaptureConfiguration | 摄像头采集配置,详见 CameraCapturerConfiguration 。 |
int agora_gaming_rtc.IRtcEngine.SetRemoteUserPriority | ( | uint | uid, |
PRIORITY_TYPE | userPriority | ||
) |
设置远端用户流的优先级。
设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。
该方法可以与 SetRemoteSubscribeFallbackOption 搭配使用。如果开启了订阅流回退选项,弱网下 SDK 会优先保证高优先级用户收到的流的质量。
uid | 远端用户的 ID。 |
userPriority | 远端用户的需求优先级。详见: PRIORITY_TYPE 。 |
int agora_gaming_rtc.IRtcEngine.SetLogFileSize | ( | uint | fileSizeInKBytes | ) |
设置声网 SDK 输出的单个日志文件大小。
默认情况下,SDK 会生成 agorasdk.log
、agorasdk_1.log
、agorasdk_2.log
、agorasdk_3.log
、agorasdk_4.log
这 5 个日志文件。 每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log
中。agorasdk.log
写满后,SDK 会从 1-4 中删除修改时间最早的一个文件, 然后将 agorasdk.log
重命名为该文件,并建立新的 agorasdk.log
写入最新的日志。
fileSizeInKBytes | 单个日志文件的大小,单位为 KB。默认值为 1024 KB。如果你将 fileSizeInKBytes 设为 1024 KB,SDK 会最多输出 5 MB 的日志文件。如果你将 fileSizeInKBytes 设为小于 1024 KB,单个日志文件最大仍为 1024 KB。 |
int agora_gaming_rtc.IRtcEngine.SetExternalAudioSink | ( | bool | enabled, |
int | sampleRate, | ||
int | channels | ||
) |
设置外部音频渲染。该方法适用于需要自行渲染音频的场景。开启外部音频渲染后,你可以通过调用 PullAudioFrame 方法拉取远端音频数据。app 可以对拉取到的原始音频数据进行处理后再渲染,获取想要的音频效果。
enabled |
|
sampleRate | 外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。 |
channels | 外部音频渲染的声道数,可设置为 1 或 2:
|
int agora_gaming_rtc.IRtcEngine.RegisterLocalUserAccount | ( | string | appId, |
string | userAccount | ||
) |
注册本地用户 User Account。
该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。成功注册 User Account 后,本地会触发 OnLocalUserRegisteredHandler 回调,告知本地用户的 UID 和 User Account。
该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:
RegisterLocalUserAccount
方法注册 Account,再调用 JoinChannelWithUserAccount 方法加入频道JoinChannelWithUserAccount
方法加入频道。两种方式的区别在于,提前调用 RegisterLocalUserAccount
,可以缩短使用 JoinChannelWithUserAccount
进入频道的时间。
userAccount
不能为空,否则该方法不生效。userAccount
在频道中的唯一性。appId | 你的项目在声网控制台注册的 App ID。 |
userAccount | 用户 User Account。该参数为必填,最大不超过 255 字节,不可填 null 。请确保注册的 User Account 的唯一性。以下为支持的字符集范围(共 89 个字符):
|
int agora_gaming_rtc.IRtcEngine.JoinChannelWithUserAccount | ( | string | token, |
string | channelId, | ||
string | userAccount | ||
) |
使用 User Account 加入频道。
该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:
Mute
方法实现。token | 在 app 服务器端生成的用于鉴权的 Token:
|
channelId | 标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围(共 89 个字符):
|
userAccount | 用户 User Account。该参数为必需,最大不超过 255 字节,不可为 null 。请确保注册的 User Account 的唯一性。以下为支持的字符集范围(共 89 个字符):
|
int agora_gaming_rtc.IRtcEngine.JoinChannelWithUserAccount | ( | string | token, |
string | channelId, | ||
string | userAccount, | ||
ChannelMediaOptions | options | ||
) |
使用 User Account 加入频道,并设置是否发布或自动订阅音频或视频流。
该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:
Mute
方法实现。options
参数,用于配置用户加入频道时是否发布或自动订阅音视频流。默认情况下,用户发布本地音视频流并自动订阅频道内所有其他用户的音视频流。订阅音视频流会产生用量并影响计费。如果想取消订阅, 可以通过设置 options
参数或相应的 Mute
方法实现。token | 在你服务器上生成的 Token。详见使用 Token 鉴权。 |
channelId | 频道名称。 |
userAccount | 用户 User Account。该参数为必需,最大不超过 255 字节,不可为 null。请确保加入频道的 User Account 的唯一性。 以下为支持的字符集范围(共 89 个字符):
|
options | 频道媒体设置选项: ChannelMediaOptions。 |
ERR_INVALID_ARGUMENT
(2)ERR_NOT_READY
(3)ERR_REFUSED
(5)ERR_NOT_INITIALIZED
(7) UserInfo agora_gaming_rtc.IRtcEngine.GetUserInfoByUserAccount | ( | string | account | ) |
通过 User Account 获取用户信息。
远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发 OnUserInfoUpdatedHandler 回调。收到这个回调后,你可以调用该方法,通过传入 User Account 获取包含了指定用户 UID 的 UserInfo
对象。
account | 用户 User Account。该参数为必填。 |
UserInfo agora_gaming_rtc.IRtcEngine.GetUserInfoByUid | ( | uint | uid | ) |
通过 UID 获取用户信息。
远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发 OnUserInfoUpdatedHandler 回调。收到这个回调后,你可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 UserInfo
对象。
uid | 用户 UID。该参数为必填。 |
int agora_gaming_rtc.IRtcEngine.SetBeautyEffectOptions | ( | bool | enabled, |
BeautyOptions | beautyOptions | ||
) |
设置美颜效果选项。
开启本地美颜功能,并设置美颜效果选项。
enabled | 是否开启美颜功能:
|
beautyOptions | 美颜选项。详见: BeautyOptions 。 |
int agora_gaming_rtc.IRtcEngine.StartScreenCaptureByDisplayId | ( | uint | displayId, |
Rectangle | rectangle, | ||
ScreenCaptureParameters | screenCaptureParameters | ||
) |
通过屏幕 ID 共享屏幕。
共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 ID。
displayId | 指定待共享的屏幕 ID。开发者需要通过该参数指定你要共享的那个屏幕。 |
rectangle | (Optional) (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见: Rectangle 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕视窗内的内容;如果宽或高为 0,则共享整个屏幕。 |
screenCaptureParameters | 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见: ScreenCaptureParameters 。 |
ERR_INVALID_ARGUMENT(-2)
: 传入的参数无效。 int agora_gaming_rtc.IRtcEngine.StartScreenCaptureByScreenRect | ( | Rectangle | screenRectangle, |
Rectangle | regionRectangle, | ||
ScreenCaptureParameters | screenCaptureParameters | ||
) |
通过指定区域共享屏幕。
共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕区域。
screenRectangle | 指定待共享的屏幕相对于虚拟屏的位置。 |
regionRectangle | (可选)指定待共享区域相对于整个屏幕屏幕的位置。如不填,则表示共享整个屏幕。详见: Rectangle 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 |
screenCaptureParameters | 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见: ScreenCaptureParameters 。 |
ERR_INVALID_ARGUMENT(-2)
: 传入的参数无效。 int agora_gaming_rtc.IRtcEngine.SetScreenCaptureContentHint | ( | VideoContentHint | videoContentHint | ) |
设置屏幕共享内容类型。
设置屏幕共享的内容类型。声网 SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。如果不调用该方法,SDK 会将屏幕共享的内容默认为 CONTENT_HINT_NONE(0),即无指定的内容类型。
videoContentHint | 指定屏幕共享的内容类型。详见: VideoContentHint 。 |
int agora_gaming_rtc.IRtcEngine.UpdateScreenCaptureParameters | ( | ScreenCaptureParameters | screenCaptureParameters | ) |
更新屏幕共享的参数配置。
screenCaptureParameters | 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见: ScreenCaptureParameters 。 |
ERR_NOT_READY(-3)
: 如果当前没有共享的屏幕,会返回该错误码。 int agora_gaming_rtc.IRtcEngine.UpdateScreenCaptureRegion | ( | Rectangle | rectangle | ) |
更新屏幕共享区域。
rectangle | 待共享区域相对于整个屏幕或窗口的位置,如不填,则表示共享整个屏幕或窗口。详见: Rectangle 。如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕或窗口。 |
ERR_NOT_READY(-3)
: 如果当前没有共享的屏幕,会返回该错误码。 int agora_gaming_rtc.IRtcEngine.StopScreenCapture | ( | ) |
停止屏幕共享。
int agora_gaming_rtc.IRtcEngine.EnableLoopbackRecording | ( | bool | enabled, |
string | deviceName | ||
) |
开启声卡采集。
启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。
enabled | 设置是否开启声卡采集:
|
deviceName | 声卡的设备名。默认设为 NULL,即使用当前声卡采集。如果用户使用虚拟声卡,如 “Soundflower”,可以将虚拟声卡名称 “Soundflower” 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。 |
int agora_gaming_rtc.IRtcEngine.SetAudioSessionOperationRestriction | ( | AUDIO_SESSION_OPERATION_RESTRICTION | restriction | ) |
设置 SDK 对 Audio Session 的控制权限
该接口可以在任意时候调用,可以在任意时候通过该方法把控制权交还给 SDK。
restriction | 声网 SDK 对 Audio Session 的控制权限,详见: AUDIO_SESSION_OPERATION_RESTRICTION 。该 restriction 为 Bit Mask,每个 Bit 对应一个权限。 |
int agora_gaming_rtc.IRtcEngine.StartChannelMediaRelay | ( | ChannelMediaRelayConfiguration | mediaRelayConfiguration | ) |
开始跨频道媒体流转发。该方法可用于实现跨频道连麦等场景。
成功调用该方法后,SDK 会触发 OnChannelMediaRelayStateChangedHandler 和 OnChannelMediaRelayEventHandler 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。
OnChannelMediaRelayStateChangedHandler
回调报告 RELAY_STATE_RUNNING(2) 和 RELAY_OK(0),且 OnChannelMediaRelayEventHandler
回调报告 RELAY_EVENT_PACKET_SENT_TO_DEST_CHANNEL(4),则表示 SDK 开始在源频道和目标频道之间转发媒体流。OnChannelMediaRelayStateChangedHandler
回调报告 RELAY_STATE_FAILURE(3),则表示跨频道媒体流转发出现异常。mediaRelayConfiguration | 跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration 。 |
int agora_gaming_rtc.IRtcEngine.UpdateChannelMediaRelay | ( | ChannelMediaRelayConfiguration | mediaRelayConfiguration | ) |
更新媒体流转发的频道。成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道,或退出当前的转发频道,可以调用该方法。
成功调用该方法后,SDK 会触发 OnChannelMediaRelayEventHandler 回调,并在回调中报告状态码 RELAY_EVENT_PACKET_UPDATE_DEST_CHANNEL(7)。
StartChannelMediaRelay
方法后调用该方法,更新媒体流转发的频道。mediaRelayConfiguration | 跨频道媒体流转发参数配置。详见 ChannelMediaRelayConfiguration 。 |
int agora_gaming_rtc.IRtcEngine.StopChannelMediaRelay | ( | ) |
停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。
成功调用该方法后,SDK 会触发 OnChannelMediaRelayStateChangedHandler 回调。如果报告 RELAY_STATE_IDLE(0) 和 RELAY_OK(0),则表示已停止转发媒体流。
OnChannelMediaRelayStateChangedHandler
回调,并报告状态码 RELAY_ERROR_SERVER_NO_RESPONSE(2) 或 RELAY_ERROR_SERVER_CONNECTION_LOST(8)。你可以调用 LeaveChannel 方法离开频道,跨频道媒体流转发会自动停止。int agora_gaming_rtc.IRtcEngine.SwitchChannel | ( | string | token, |
string | channelId | ||
) |
快速切换直播频道。
当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。
成功调用该方切换频道后,本地会先收到离开原频道的回调 OnLeaveChannelHandler,再收到成功加入新频道的回调 OnJoinChannelSuccessHandler。
Mute
方法实现。token | 在服务器端生成的用于鉴权的 Token:
|
channelId | 标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围(共 89 个字符):
|
int agora_gaming_rtc.IRtcEngine.SetMultiChannelWant | ( | bool | multiChannelWant | ) |
设置是否开启多频道模式。
在多频道视频场景中,你需要调用该方法开启多频道模式,否则用户无法接收多个频道中的视频流。
multiChannelWant | 是否开启多频道模式:
|
int agora_gaming_rtc.IRtcEngine.SetMirrorApplied | ( | bool | wheatherApply | ) |
设置是否开启镜像模式。
wheatherApply | 设置是否开启本地和远端视频的镜像模式。
|
int agora_gaming_rtc.IRtcEngine.SetInEarMonitoringVolume | ( | int | volume | ) |
设置耳返音量。
volume | 设置耳返音量,取值范围在 [0,100]。默认值为 100。 |
int agora_gaming_rtc.IRtcEngine.StartScreenCaptureByWindowId | ( | int | windowId, |
Rectangle | regionRect, | ||
ScreenCaptureParameters | screenCaptureParameters | ||
) |
通过窗口 ID 共享窗口。共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。
自 v3.0.1 起,该方法支持共享通用 Windows 平台(UWP)应用窗口。
声网使用最新版 SDK 对主流的 UWP 应用进行了测试,结果如下:
系统版本 | 软件 | 软件版本 | 是否支持 |
win10 | Chrome | 76.0.3809.100 | 否 |
Office Word | 18.1903.1152.0 | 是 | |
Office Excel | 否 | ||
Office PPT | 是 | ||
WPS Word | 11.1.0.9145 | 是 | |
WPS Excel | |||
WPS PPT | |||
Media Player(系统自带) | 全部 | 是 | |
win8 | Chrome | 全部 | 是 |
Office Word | 全部 | 是 | |
Office Excel | |||
Office PPT | |||
WPS Word | 11.1.0.9098 | 是 | |
WPS Excel | |||
WPS PPT | |||
Media Player(系统自带) | 全部 | 是 | |
win7 | Chrome | 73.0.3683.103 | 否 |
Office Word | 全部 | 是 | |
Office Excel | |||
Office PPT | |||
WPS Word | 11.1.0.9098 | 否 | |
WPS Excel | |||
WPS PPT | 11.1.0.9098 | 是 | |
Media Player(系统自带) | 全部 | 否 |
windowId | 指定待共享的窗口 ID。关于如何获取窗口 ID。 |
regionRect | (可选)指定待共享的区域相对于整个窗口的位置。如不填,则表示共享整个窗口。详见: Rectangle 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 |
screenCaptureParameters | 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准详见: ScreenCaptureParameters 。 |
ERR_INVALID_ARGUMENT(-2)
: 传入的参数无效。 int agora_gaming_rtc.IRtcEngine.EnableInEarMonitoring | ( | bool | enabled | ) |
开启耳返功能。
enabled | 是否开启耳返功能:
|
int agora_gaming_rtc.IRtcEngine.AdjustUserPlaybackSignalVolume | ( | uint | uid, |
int | volume | ||
) |
调节本地播放的指定远端用户的信号音量。
加入频道后,你可以多次调用该方法调节不同远端用户在本地播放的音量,或对某个远端用户在本地播放的音量调节多次。
uid | 远端用户 ID。 |
volume | 播放音量,取值范围为 [0,100]:
|
AgoraChannel agora_gaming_rtc.IRtcEngine.CreateChannel | ( | string | channelId | ) |
创建并获取一个 AgoraChannel
对象。
你可以多次调用该方法,创建多个 AgoraChannel
对象,再调用各 AgoraChannel
对象中的 JoinChannel 方法,实现同时加入多个频道。
加入多个频道后,你可以同时订阅各个频道的音、视频流;但是同一时间只能在一个频道发布一路音、视频流。
channelId | 能标识频道的频道名,长度在 64 字节以内的字符。以下为支持的字符集范围(共 89 个字符):
|
-5(ERR_REFUSED)
AgoraChannel
对象null
channelId
设为空字符 "",SDK 会返回 -5(ERR_REFUSED)
int agora_gaming_rtc.IRtcEngine.EnableFaceDetection | ( | bool | enable | ) |
开启/关闭本地人脸检测。仅适用于 Android 和 iOS。
开启本地人脸检测后,SDK 会触发 OnFacePositionChangedHandler 回调向你报告人脸检测的信息:
enable | 是否开启人脸检测:
|
int agora_gaming_rtc.IRtcEngine.SetAudioMixingPitch | ( | int | pitch | ) |
调整本地播放的音乐文件的音调。
本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。
pitch | 按半音音阶调整本地播放的音乐文件的音调,默认值为 0 ,即不调整音调。取值范围为 [-12,12], 每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 |
int agora_gaming_rtc.IRtcEngine.EnableEncryption | ( | bool | enabled, |
EncryptionConfig | encryptionConfig | ||
) |
开启或关闭内置加密。
在安全要求较高的场景下,声网建议你在加入频道前,调用 enableEncryption
方法开启内置加密。
用户离开频道后,SDK 会自动关闭加密。如需重新开启加密,你需要在用户再次加入频道前调用该方法。
自 v3.4.5 起,声网推荐使用 AES_128_GCM2
或 AES_256_GCM2
加密模式。 这两种模式支持设置盐,安全性更高。设置方法详见《媒体流加密》。
enabled | 是否开启内置加密:
|
encryptionConfig | 配置内置加密方案。详见 EncryptionConfig。 |
IRtcEngine
对象并完成初始化。 int agora_gaming_rtc.IRtcEngine.EnableRemoteSuperResolution | ( | uint | userId, |
bool | enable | ||
) |
开启/关闭远端视频超分辨率。(beta 功能)
该功能可以有效地提升本地用户看到的远端视频画面的分辨率。远端用户视频的原始分辨率为 a × b,开启该功能后,本地设备会以 2a × 2b 的分辨率 显示该远端视频。调用该方法后,SDK 会触发 OnUserSuperResolutionEnabledHandler 回调报告超分辨率是否成功开启。
WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION (1610)
: 远端用户的原始视频分辨率超出了可以应用超分辨率的范围。WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION (1611)
: 已对一个远端用户的视频使用超分辨率。WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED (1612)
: 设备不支持使用超分辨率。userId | 远端用户 ID。 |
enable | 是否对远端视频开启超级分辨率:
|
-157 (ERR_MODULE_NOT_FOUND)
: 未集成超分辨率动态库 int agora_gaming_rtc.IRtcEngine.EnableRemoteSuperResolution | ( | bool | enabled, |
SR_MODE | mode, | ||
uint | userId | ||
) |
开启/关闭远端视频超分辨率。(beta 功能)
该功能可以有效地提升用户看到的远端视频画面的分辨率,即对接收到的某个远端用户的视频宽和高均扩大为 2 倍像素。
调用该方法后,SDK 会触发 OnUserSuperResolutionEnabledHandler 回调报告超分辨率是否成功开启。
libagora_super_resolution_extension.so
AgoraSuperResolutionExtension.xcframework
libagora_super_resolution_extension.dll
enabled | 是否对远端视频开启超级分辨率:
|
mode | 超分辨率的模式。详见 SR_MODE. |
userId | 远端用户 ID。该参数仅在 mode 为 SR_MODE_MANUAL(0) 时生效。 |
-157 (ERR_MODULE_NOT_FOUND)
: 未集成超分辨率动态库 int agora_gaming_rtc.IRtcEngine.SetClientRole | ( | CLIENT_ROLE_TYPE | role, |
ClientRoleOptions | clientRoleOptions | ||
) |
设置直播场景下的用户角色。
在加入频道前和加入频道后均可调用该方法设置用户角色。
如果你在加入频道后调用该方法成功切换用户角色,SDK 会触发以下回调:
role
)确定用户在 SDK 层的权限,包含是否可以发送流、是否可以接收流、是否可以推流到 CDN 等。level
)需要与角色结合使用,确定用户在其权限范围内,可以操作和享受到的服务级别。例如对于观众,选择接收低延时还是超低延时的视频流。不同的级别会影响计费。role | 直播场景中的用户角色,详见 CLIENT_ROLE_TYPE |
clientRoleOptions | 用户具体设置,包含用户级别,详见 ClientRoleOptions |
int agora_gaming_rtc.IRtcEngine.SetVoiceBeautifierPreset | ( | VOICE_BEAUTIFIER_PRESET | preset | ) |
设置 SDK 预设的美声效果。
调用该方法可以为本地发流用户设置 SDK 预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置 不同的美声效果。
为获取更好的人声效果,声网推荐你在调用该方法前将 SetAudioProfile 的 scenario
设为 AUDIO_SCENARIO_GAME_STREAMING(3)
,并将 profile
设为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。
SetAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_SPEECH_STANDARD(1)
或 AUDIO_PROFILE_IOT(6)
,否则该方法不生效。preset | 预设的美声效果选项,详见 VOICE_BEAUTIFIER_PRESET |
int agora_gaming_rtc.IRtcEngine.SetAudioEffectPreset | ( | AUDIO_EFFECT_PRESET | preset | ) |
设置 SDK 预设的人声音效。
调用该方法可以为本地发流用户设置 SDK 预设的人声音效,且不会改变原声的性别特征。设置音效后,频道内所有用户都能听到该效果。
根据不同的场景,你可以为用户设置不同的音效。
为获取更好的人声效果,声网推荐你在调用该方法前将 SetAudioProfile 的 scenario
设为 AUDIO_SCENARIO_GAME_STREAMING(3)
。
SetAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_SPEECH_STANDARD(1)
或 AUDIO_PROFILE_IOT(6)
,否则该方法不生效。或
PITCH_CORRECTION` 外的枚举,请勿再 调用 SetAudioEffectParameters,否则该方法设置的效果会被覆盖。preset | 预设的音效选项,详见 AUDIO_EFFECT_PRESET |
int agora_gaming_rtc.IRtcEngine.SetAudioEffectParameters | ( | AUDIO_EFFECT_PRESET | preset, |
int | param1, | ||
int | param2 | ||
) |
设置 SDK 预设人声音效的参数。
调用该方法可以对本地发流用户进行如下设置:
设置后,频道内所有用户都能听到该效果。
该方法可以单独使用,也可以搭配 SetAudioEffectPreset 使用。搭配使用时, 需要先调用 SetAudioEffectPreset
并使用 ROOM_ACOUSTICS_3D_VOICE
或 PITCH_CORRECTION
枚举,再调用该方法使用相同的枚举。否则,该方法设置的效果会覆盖 setAudioEffectPreset
设置的效果。
scenario
设为 AUDIO_SCENARIO_GAME_STREAMING(3)
。SetAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_SPEECH_STANDARD(1)
或 AUDIO_PROFILE_IOT(6)
,否则该方法不生效。preset | SDK 预设的音效:
|
param1 |
|
param2 |
|
int agora_gaming_rtc.IRtcEngine.SendCustomReportMessage | ( | string | id, |
string | category, | ||
string | events, | ||
string | label, | ||
int | value | ||
) |
声网提供自定义数据上报和分析服务。
该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 字节,每个字符串不能超过 100 字节。如需试用该服务,请联系 sales 开通并商定自定义数据格式。 @ago ra.io
int agora_gaming_rtc.IRtcEngine.SetVoiceBeautifierParameters | ( | VOICE_BEAUTIFIER_PRESET | preset, |
int | param1, | ||
int | param2 | ||
) |
设置 SDK 预设美声效果的参数。
调用该方法可以设置歌唱美声效果的性别特征和混响效果。该方法对本地发流用户进行设置。设置后,频道内所有用户都能听到该效果。
为获取更好的人声效果,声网推荐你在调用该方法前将 SetAudioProfile 的 scenario
设为 AUDIO_SCENARIO_GAME_STREAMING(3)
,并将 profile
设为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
。
SetAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_SPEECH_STANDARD(1)
或 AUDIO_PROFILE_IOT(6)
,否则该方法不生效。preset | SDK 预设的音效:
|
param1 | 歌声的性别特征:
|
param2 | 歌声的混响效果:
|
int agora_gaming_rtc.IRtcEngine.EnableDeepLearningDenoise | ( | bool | enable | ) |
开启或关闭 AI 降噪模式。
SDK 默认开启传统降噪模式,以消除大部分平稳噪声。如果你还需要消除非平稳噪声,声网推荐你按如下步骤开启 AI 降噪模式:
libagora_ai_denoise_extension.so
AgoraAIDenoiseExtension.framework
AgoraAIDenoiseExtension.framework
libagora_ai_denoise_extension.dll
EnableDeepLearningDenoise(true)
。AI 降噪模式对设备性能有要求。只有在设备性能良好的情况下,SDK 才会成功开启 AI 降噪模式。例如, 支持在如下设备及其之后的型号中开启 AI 降噪模式:
成功开启 AI 降噪模式后,如果 SDK 检测到当前设备的性能不足,SDK 会自动关闭 AI 降噪模式,并开启传统降噪模式。
在频道内,如果你调用了 EnableDeepLearningDenoise(false)
或 SDK 自动关闭了 AI 降噪模式,当你需要重新开启 AI 降噪模式时, 你需要先调用 LeaveChannel,再调用 EnableDeepLearningDenoise(true)
。
enable | 是否开启 AI 降噪模式:
|
-157
(ERR_MODULE_NOT_FOUND
): 未集成用于 AI 降噪的动态库。 int agora_gaming_rtc.IRtcEngine.JoinChannel | ( | string | token, |
string | channelId, | ||
string | info, | ||
uint | uid, | ||
ChannelMediaOptions | options | ||
) |
加入频道并设置是否发布或自动订阅音频或视频流。
该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。使用不同 App ID 的 App 是不能互通的。 如果已在通话中,用户必须调用 LeaveChannel 退出当前通话,才能进入下一个频道。
成功调用该方法加入频道后,本地会触发 OnJoinChannelSuccessHandler 回调; 通信场景下的用户和直播场景下的主播加入频道后,远端会触发 OnUserJoinedHandler 回调。
在网络状况不理想的情况下,客户端可能会与 声网的服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 OnReJoinChannelSuccessHandler 回调。
JoinChannel
, 该方法加了 options
参数,用于配置用户加入频道时是否发布或自动订阅音视频流。默认情况下,用户发布本地音视频流并自动订阅频道内所有其他用户的音视频流。 订阅音视频流会产生用量并影响计费。如果想取消订阅,可以通过设置 options
参数或相应的 Mute
方法实现。token | 在你服务器上生成的 Token。详见使用 Token 鉴权。 |
channelId | 标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围(共 89 个字符):
|
info | (非必选项) 预留参数。 |
uid | 用户 ID,32 位无符号整数。建议设置范围:1 到 232-1,并保证唯一性。如果不指定(即设为 0),SDK 会自动分配一个,并在 OnJoinChannelSuccessHandler 回调中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。请注意:频道内每个用户的 UID 必须是唯一的。如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 UID 是不同的。 |
options | 频道媒体设置选项: ChannelMediaOptions。 |
int agora_gaming_rtc.IRtcEngine.SwitchChannel | ( | string | token, |
string | channelId, | ||
ChannelMediaOptions | options | ||
) |
快速切换直播频道,并设置是否自动订阅音频流或视频流。
当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。
成功调用该方切换频道后,本地会先收到离开原频道的回调 OnLeaveChannelHandler,再收到成功加入新频道的回调 OnJoinChannelSuccessHandler。
用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute
方法实现。
options
参数,用于配置终端用户在切换到新的频道时是否自动订阅频道内所有远端音视频流。token | 在服务端生成的用于鉴权的 Token。详见从服务端生成 Token。 |
channelId | 标识频道的频道名,最大不超过 64 字节。以下为支持的字符集范围 (共 89 个字符):
|
options | 频道媒体设置选项:ChannelMediaOptions。 |
int agora_gaming_rtc.IRtcEngine.SetVoiceConversionPreset | ( | VOICE_CONVERSION_PRESET | preset | ) |
设置 SDK 预设的变声效果。
调用该方法可以为本地发流用户设置 SDK 预设的变声效果。设置变声效果后,频道内所有用户都能听到该效果。根据不同的场景, 你可以为用户设置不同的变声效果,各变声效果的适用场景可参考《设置人声效果》。
为获取更好的人声效果,声网推荐你在调用该方法前将 SetAudioProfile 的 profile
设为 AUDIO_PROFILE_MUSIC_HIGH_QUALITY(4)
或 AUDIO_PROFILE_MUSIC_HIGH_QUALITY_STEREO(5)
,并将 scenario
设为 AUDIO_SCENARIO_GAME_STREAMING(3)
。
SetAudioProfile
的 profile
参数设置为 AUDIO_PROFILE_SPEECH_STANDARD(1)
或 AUDIO_PROFILE_IOT(6)
, 否则该方法不生效。preset | 预设的变声效果选项: VOICE_CONVERSION_PRESET。 |
int agora_gaming_rtc.IRtcEngine.SetCloudProxy | ( | CLOUD_PROXY_TYPE | proxyType | ) |
设置声网云代理服务。
当用户防火墙限制 IP 和端口号时,你需要参考《使用云代理》开放相应 IP 和端口号,然后调用该方法开启云代理,并将 proxyType
参数 设置为 UDP_PROXY(1)
,即 UDP 协议的云代理。
成功连接云代理后,SDK 会触发 OnConnectionStateChangedHandler(CONNECTION_STATE_CONNECTING, CONNECTION_CHANGED_SETTING_PROXY_SERVER)
回调。
如果你想关闭已设置的云代理,请调用 SetCloudProxy(NONE_PROXY)
。如果你想更改已设置的云代理类型, 请先调用 SetCloudProxy(NONE_PROXY)
,再调用 SetCloudProxy
并传入你期望的 proxyType
值。
proxyType | 云代理类型,详见 CLOUD_PROXY_TYPE。 该参数为必填参数,如果你不赋值,SDK 会报错。 |
-2(ERR_INVALID_ARGUMENT)
: 传入的参数无效-7(ERR_NOT_INITIALIZED)
: SDK 尚未初始化 int agora_gaming_rtc.IRtcEngine.AdjustLoopbackRecordingSignalVolume | ( | int | volume | ) |
调节声卡采集信号音量。
调用 EnableLoopbackRecording 开启声卡采集后,你可以调用该方法调节声卡采集的信号音量。
volume | 声卡采集信号音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 |
int agora_gaming_rtc.IRtcEngine.StartAudioRecording | ( | AudioRecordingConfiguration | config | ) |
开始客户端录音。
声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内用户的音频,并得到一个录音文件。录音文件格式可以为:
AUDIO_RECORDING_QUALITY_MEDIUM
,录音时长为 10 分钟的文件大小约为 2 M。一旦用户离开频道,录音会自动停止。
config | 录音配置。详见 AudioRecordingConfiguration。 |
-160(ERR_ALREADY_IN_RECORDING)
: 客户端正在录音。如需开始新的录音, 请先调用 StopAudioRecording 停止当前录音, 再调用 StartAudioRecording。 int agora_gaming_rtc.IRtcEngine.SetLocalAccessPoint | ( | LocalAccessPointConfiguration | config | ) |
设置本地代理。
成功部署声网混合云或声网私有化平台并在内网终端集成声网 Native SDK 后,你需要调用该方法指定 Local Access Point 来设置本地代理。 成功设置本地代理后,SDK 会自动将日志上传到声网日志服务器。如果你需要将日志上传到指定的服务器,可以在通过 LocalAccessPointConfiguration
的 advancedConfig
参数设置。
config | Local Access Point 的配置。详见 LocalAccessPointConfiguration。 |
int agora_gaming_rtc.IRtcEngine.EnableVirtualBackground | ( | bool | enabled, |
VirtualBackgroundSource | source | ||
) |
开启/关闭虚拟背景。(beta 功能)
开启虚拟背景功能后,你可以使用自定义的背景图替代本地用户原来的背景图。替换后,频道内所有用户都能看到自定义的背景图。 你可以从 OnVirtualBackgroundSourceEnabledHandler 回调了解虚拟 背景是否成功开启和相应的出错原因。
libagora_segmentation_extension.dll
(Windows)/AgoraVideoSegmentationExtension.framework
(macOS) 动态库集成到项目文件中。enabled | 设置是否开启虚拟背景:
|
source | 自定义的背景图。详见 VirtualBackgroundSource 。 |
Note: 为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图内容不变形的前提下,对自定义背景图进行缩放和裁剪。
int agora_gaming_rtc.IRtcEngine.SetCameraTorchOn | ( | bool | on | ) |
设置是否打开闪光灯。
true
,也可能因系统问题导致你无法通过 setCameraTorchOn 成功开启闪光灯。on | 是否打开闪光灯:
|
bool agora_gaming_rtc.IRtcEngine.IsCameraTorchSupported | ( | ) |
检查设备是否支持打开闪光灯。
SDK 默认使用前置摄像头,因此如果你直接调用 IsCameraTorchSupported
,你可以从返回值中了解使用前置摄像头时是否支持打开闪光灯。 如果你想检查使用后置摄像头时设备是否支持打开闪光灯, 请先调用 SwitchCamera 切换 SDK 使用的摄像头为后置摄像头, 再调用 IsCameraTorchSupported
。
true
,也可能因系统问题导致你无法通过 SetCameraTorchOn 成功开启闪光灯。int agora_gaming_rtc.IRtcEngine.SetExternalAudioSourceVolume | ( | int | sourcePos, |
int | volume | ||
) |
设置指定位置的外部音频帧音量。
你可以多次调用该方法,设置不同位置的外部音频帧音量。音量设置对被推送到指定位置的所有外部音频帧都有效。
sourcePos | 外部音频帧的推送位置。 |
volume | 外部音频帧的音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 |
-2(ERR_INALID_ARGUMENT)
: 无效参数 int agora_gaming_rtc.IRtcEngine.SetAudioMixingPlaybackSpeed | ( | int | speed | ) |
设置当前音乐文件的播放速度。
(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。speed | 播放速度。推荐取值范围为 [50,400],其中:
|
int agora_gaming_rtc.IRtcEngine.SelectAudioTrack | ( | int | index | ) |
指定当前音乐文件的播放音轨。
获取音乐文件的音轨索引后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的 不同音轨存放了不同语言的歌曲,则你可以调用该方法设置音乐文件的播放语言。
(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。index | 指定的播放音轨。该参数需小于或等于 GetAudioTrackCount 的返回值。 |
int agora_gaming_rtc.IRtcEngine.GetAudioTrackCount | ( | ) |
获取当前音乐文件的音轨索引。
(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。int agora_gaming_rtc.IRtcEngine.SetAudioMixingDualMonoMode | ( | AUDIO_MIXING_DUAL_MONO_MODE | mode | ) |
设置当前音乐文件的声道模式。
在双声道音乐文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、 左声道模式、右声道模式或混合模式。例如,在 KTV 场景中,音乐文件的左声道存储了伴奏,右声道存储了原唱的歌声。 如果你只需听伴奏,调用该方法设置音乐文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声 道模式为混合模式。
(AUDIO_MIXING_STATE_PLAYING)
回调后调用该方法。mode | 声道模式。详见 AUDIO_MIXING_DUAL_MONO_MODE 。 |
int agora_gaming_rtc.IRtcEngine.PauseAllChannelMediaRelay | ( | ) |
暂停向所有目标频道转发媒体流。
开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转 发,可以调用 ResumeAllChannelMediaRelay 方法。
成功调用该方法后,SDK 会触发 OnChannelMediaRelayEventHandler 回调, 并在回调中报告是否成功暂停媒体流转发。
int agora_gaming_rtc.IRtcEngine.ResumeAllChannelMediaRelay | ( | ) |
恢复向所有目标频道转发媒体流。
调用 PauseAllChannelMediaRelay 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。
成功调用该方法后,SDK 会触发 OnChannelMediaRelayEventHandler 回调,并在 回调中报告是否成功恢复媒体流转发。
int agora_gaming_rtc.IRtcEngine.GetAudioFileInfo | ( | string | filePath | ) |
获取指定音频文件信息。
成功调用该方法后,SDK 会触发 OnRequestAudioFileInfoHandler 回调, 报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。
filePath | 文件路径:
|
int agora_gaming_rtc.IRtcEngine.TakeSnapshot | ( | string | channel, |
uint | uid, | ||
string | filePath | ||
) |
获取视频截图。
该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。
该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 OnSnapshotTakenHandler 回调报告截图是否成功和获取截图的详情。
channel | 频道名。 |
uid | 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 |
filePath | 截图的本地保存路径,需精确到文件名及格式, 例如:C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg (Windows)或 /App Sandbox/Library/Caches/example.jpg (iOS)或 ~/Library/Logs/example.jpg (macOS) 或 /storage/emulated/0/Android/data/<package name>/files/example.jpg (Android)。请确保目录存在且可写。 |
int agora_gaming_rtc.IRtcEngine.SetLowlightEnhanceOptions | ( | bool | enabled, |
LowLightEnhanceOptions | options | ||
) |
设置暗光增强功能。
你可以调用该方法开启暗光增强功能并设置暗光增强的效果。
EnableVideo
后调用该方法。enabled | 是否开启暗光增强功能:
|
options | 暗光增强选项,用于设置暗光增强的效果。详见 LowLightEnhanceOptions。 |
int agora_gaming_rtc.IRtcEngine.SetVideoDenoiserOptions | ( | bool | enabled, |
VideoDenoiserOptions | options | ||
) |
设置视频降噪功能。
你可以调用该方法开启视频降噪功能并设置视频降噪的效果。
EnableVideo
后调用该方法。enabled | 是否开启视频降噪功能:
|
options | 视频降噪选项,用于设置视频降噪的效果。详见 VideoDenoiserOptions。 |
int agora_gaming_rtc.IRtcEngine.SetColorEnhanceOptions | ( | bool | enabled, |
ColorEnhanceOptions | options | ||
) |
设置色彩增强功能。
你可以调用该方法开启色彩增强功能并设置色彩增强的效果。
EnableVideo
后调用该方法。enabled | 是否开启色彩增强功能:
|
options | 色彩增强选项,用于设置色彩增强的效果。详见 ColorEnhanceOptions。 |
int agora_gaming_rtc.IRtcEngine.SetAVSyncSource | ( | string | channelId, |
uint | uid | ||
) |
设置发流端音画同步。
同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。 SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G 网络)的情况下,也能让接收到的音视频具有时间同步性。
channelId | 标识音频发送端所在频道的频道名。 |
uid | 音频发送端的用户 ID。 |
int agora_gaming_rtc.IRtcEngine.StartRtmpStreamWithoutTranscoding | ( | string | url | ) |
开始非转码推流。
调用该方法,你可以向指定的 CDN 推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址推流,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 OnRtmpStreamingStateChangedHandler 回调,报告推流的状态。
url | CDN 推流地址。格式为 RTMP。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 |
int agora_gaming_rtc.IRtcEngine.StartRtmpStreamWithTranscoding | ( | string | url, |
LiveTranscoding | transcoding | ||
) |
开始 CDN 直播推流并设置转码属性。
调用该方法,你可以向指定的 CDN 推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。 调用该方法后,SDK 会在本地触发 OnRtmpStreamingStateChangedHandler 回调,报告推流的状态。
url | CDN 推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 |
transcoding | CDN 直播推流的转码属性,详见 LiveTranscoding 。 |
int agora_gaming_rtc.IRtcEngine.UpdateRtmpTranscoding | ( | LiveTranscoding | transcoding | ) |
更新转码属性。
开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 OnTranscodingUpdatedHandler 回调。
transcoding | CDN 直播推流的转码属性,详见 LiveTranscoding 类。 |
int agora_gaming_rtc.IRtcEngine.StopRtmpStream | ( | string | url | ) |
结束 CDN 直播推流。
调用该方法,你可以结束指定的 CDN 推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。
调用该方法后,SDK 会在本地触发 OnRtmpStreamingStateChangedHandler 回调,报告推流的状态。
url | CDN 推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 |
int agora_gaming_rtc.IRtcEngine.EnableWirelessAccelerate | ( | bool | enabled | ) |
开启或关闭 Wi-Fi 加速功能。
EnableWirelessAccelerate(false)
关闭加速功能。enabled | 设置是否开启 Wi-Fi 加速功能:
|
int agora_gaming_rtc.IRtcEngine.EnableLocalVoicePitchCallback | ( | int | interval | ) |
开启本地语音音调回调。
OnLocalVoicePitchInHzHandler
回调。 interval | 设置 SDK 触发 OnLocalVoicePitchInHzHandler 回调的时间间隔:
|
int agora_gaming_rtc.IRtcEngine.SetScreenCaptureScenario | ( | int | screenScenario | ) |
设置屏幕共享的场景。
screenScenario | 屏幕共享的场景:
|
int agora_gaming_rtc.IRtcEngine.SetCameraZoomFactor | ( | float | factor | ) |
设置摄像头缩放比例。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
factor | 相机缩放比例,有效范围从 1.0 到最大缩放 |
float agora_gaming_rtc.IRtcEngine.GetCameraMaxZoomFactor | ( | ) |
获取摄像头支持最大缩放比例。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
bool agora_gaming_rtc.IRtcEngine.IsCameraZoomSupported | ( | ) |
检测设备是否支持摄像头缩放功能。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
bool agora_gaming_rtc.IRtcEngine.IsCameraFocusSupported | ( | ) |
检测设备是否支持手动对焦功能。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
bool agora_gaming_rtc.IRtcEngine.IsCameraExposurePositionSupported | ( | ) |
检测设备是否支持手动曝光功能。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
bool agora_gaming_rtc.IRtcEngine.IsCameraAutoFocusFaceModeSupported | ( | ) |
检测设备是否支持人脸对焦功能。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
int agora_gaming_rtc.IRtcEngine.SetCameraFocusPositionInPreview | ( | float | positionX, |
float | positionY | ||
) |
设置手动对焦位置,并触发对焦。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
成功调用该方法后,本地会触发 OnCameraFocusAreaChangedHandler 回调。
positionX | 触摸点相对于视图的横坐标。 |
positionY | 触摸点相对于视图的纵坐标。 |
int agora_gaming_rtc.IRtcEngine.SetCameraExposurePosition | ( | float | positionXinView, |
float | positionYinView | ||
) |
设置手动曝光位置。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
成功调用该方法后,本地会触发 OnCameraExposureAreaChangedHandler 回调。
positionXinView | 触摸点相对于视图的横坐标。 |
positionYinView | 触摸点相对于视图的纵坐标。 |
int agora_gaming_rtc.IRtcEngine.SetCameraAutoFocusFaceModeEnabled | ( | bool | enabled | ) |
设置是否开启人脸对焦功能。
SDK 默认关闭人脸自动对焦,如需自行设置人脸自动对焦,请调用该方法。
该方法需要在相机启动(如通过调用 StartPreview
或 JoinChannel
实现)后调用。
enabled | 是否开启人脸自动对焦:
|
|
static |
初始化 IRtcEngine
。
IRtcEngine
类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。
IRtcEngine
。IRtcEngine
实例。该方法与 GetEngine2
的区别在于,GetEngine2
支持在创建 IRtcEngine
实例时指定访问区域。IRtcEngine
实例。appId | 声网为 app 开发者签发的 App ID,详见获取 App ID。使用同一个 App ID 的 app 才能进入同一个频道进行通话或直播。一个 App ID 只能用于创建一个 IRtcEngine 。如需更换 App ID,必须先调用 Destroy 销毁当前 IRtcEngine ,并在 Destroy 成功返回后,再调用该方法重新创建 IRtcEngine 。 |
IRtcEngine
对象。
|
static |
初始化 IRtcEngine
。
IRtcEngine
类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。
IRtcEngine
。GetEngine1
的区别在于,该方法支持在创建 IRtcEngine
实例时指定访问区域。IRtcEngine
实例。engineConfig | IRtcEngine 实例的配置,详见 RtcEngineConfig。 |
IRtcEngine
对象。
|
static |
|
static |
销毁 IRtcEngine 实例。
该方法释放声网 SDK 使用的所有资源。有些 app 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作, 该方法适用于此类情况。调用 Destroy
方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能, 你必须重新调用 GetEngine 创建一个新的 IRtcEngine
对象。
IRtcEngine
对象,需要等待 Destroy
方法执行结束后再创建实例。
|
static |
OnJoinChannelSuccessHandler agora_gaming_rtc.IRtcEngine.OnJoinChannelSuccess |
OnReJoinChannelSuccessHandler agora_gaming_rtc.IRtcEngine.OnReJoinChannelSuccess |
OnConnectionLostHandler agora_gaming_rtc.IRtcEngine.OnConnectionLost |
OnConnectionInterruptedHandler agora_gaming_rtc.IRtcEngine.OnConnectionInterrupted |
OnRequestTokenHandler agora_gaming_rtc.IRtcEngine.OnRequestToken |
OnUserJoinedHandler agora_gaming_rtc.IRtcEngine.OnUserJoined |
OnUserOfflineHandler agora_gaming_rtc.IRtcEngine.OnUserOffline |
OnLeaveChannelHandler agora_gaming_rtc.IRtcEngine.OnLeaveChannel |
OnVolumeIndicationHandler agora_gaming_rtc.IRtcEngine.OnVolumeIndication |
OnUserMutedAudioHandler agora_gaming_rtc.IRtcEngine.OnUserMutedAudio |
OnSDKWarningHandler agora_gaming_rtc.IRtcEngine.OnWarning |
OnSDKErrorHandler agora_gaming_rtc.IRtcEngine.OnError |
OnRtcStatsHandler agora_gaming_rtc.IRtcEngine.OnRtcStats |
OnAudioMixingFinishedHandler agora_gaming_rtc.IRtcEngine.OnAudioMixingFinished |
OnAudioRouteChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioRouteChanged |
OnFirstRemoteVideoDecodedHandler agora_gaming_rtc.IRtcEngine.OnFirstRemoteVideoDecoded |
OnVideoSizeChangedHandler agora_gaming_rtc.IRtcEngine.OnVideoSizeChanged |
OnClientRoleChangedHandler agora_gaming_rtc.IRtcEngine.OnClientRoleChanged |
OnUserMuteVideoHandler agora_gaming_rtc.IRtcEngine.OnUserMuteVideo |
OnMicrophoneEnabledHandler agora_gaming_rtc.IRtcEngine.OnMicrophoneEnabled |
OnFirstRemoteAudioFrameHandler agora_gaming_rtc.IRtcEngine.OnFirstRemoteAudioFrame |
OnFirstLocalAudioFrameHandler agora_gaming_rtc.IRtcEngine.OnFirstLocalAudioFrame |
OnApiExecutedHandler agora_gaming_rtc.IRtcEngine.OnApiExecuted |
OnLastmileQualityHandler agora_gaming_rtc.IRtcEngine.OnLastmileQuality |
OnAudioQualityHandler agora_gaming_rtc.IRtcEngine.OnAudioQuality |
OnStreamUnpublishedHandler agora_gaming_rtc.IRtcEngine.OnStreamUnpublished |
OnStreamPublishedHandler agora_gaming_rtc.IRtcEngine.OnStreamPublished |
OnStreamMessageErrorHandler agora_gaming_rtc.IRtcEngine.OnStreamMessageError |
OnStreamMessageHandler agora_gaming_rtc.IRtcEngine.OnStreamMessage |
OnConnectionBannedHandler agora_gaming_rtc.IRtcEngine.OnConnectionBanned |
OnConnectionStateChangedHandler agora_gaming_rtc.IRtcEngine.OnConnectionStateChanged |
OnTokenPrivilegeWillExpireHandler agora_gaming_rtc.IRtcEngine.OnTokenPrivilegeWillExpire |
OnActiveSpeakerHandler agora_gaming_rtc.IRtcEngine.OnActiveSpeaker |
OnVideoStoppedHandler agora_gaming_rtc.IRtcEngine.OnVideoStopped |
OnFirstLocalVideoFrameHandler agora_gaming_rtc.IRtcEngine.OnFirstLocalVideoFrame |
OnFirstRemoteVideoFrameHandler agora_gaming_rtc.IRtcEngine.OnFirstRemoteVideoFrame |
OnUserEnableVideoHandler agora_gaming_rtc.IRtcEngine.OnUserEnableVideo |
OnUserEnableLocalVideoHandler agora_gaming_rtc.IRtcEngine.OnUserEnableLocalVideo |
OnRemoteVideoStateChangedHandler agora_gaming_rtc.IRtcEngine.OnRemoteVideoStateChanged |
OnLocalPublishFallbackToAudioOnlyHandler agora_gaming_rtc.IRtcEngine.OnLocalPublishFallbackToAudioOnly |
OnRemoteSubscribeFallbackToAudioOnlyHandler agora_gaming_rtc.IRtcEngine.OnRemoteSubscribeFallbackToAudioOnly |
OnNetworkQualityHandler agora_gaming_rtc.IRtcEngine.OnNetworkQuality |
OnLocalVideoStatsHandler agora_gaming_rtc.IRtcEngine.OnLocalVideoStats |
OnRemoteVideoStatsHandler agora_gaming_rtc.IRtcEngine.OnRemoteVideoStats |
OnRemoteAudioStatsHandler agora_gaming_rtc.IRtcEngine.OnRemoteAudioStats |
OnAudioDeviceStateChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioDeviceStateChanged |
OnCameraReadyHandler agora_gaming_rtc.IRtcEngine.OnCameraReady |
OnCameraFocusAreaChangedHandler agora_gaming_rtc.IRtcEngine.OnCameraFocusAreaChanged |
OnCameraExposureAreaChangedHandler agora_gaming_rtc.IRtcEngine.OnCameraExposureAreaChanged |
OnRemoteAudioMixingBeginHandler agora_gaming_rtc.IRtcEngine.OnRemoteAudioMixingBegin |
OnRemoteAudioMixingEndHandler agora_gaming_rtc.IRtcEngine.OnRemoteAudioMixingEnd |
OnAudioEffectFinishedHandler agora_gaming_rtc.IRtcEngine.OnAudioEffectFinished |
OnVideoDeviceStateChangedHandler agora_gaming_rtc.IRtcEngine.OnVideoDeviceStateChanged |
OnRemoteVideoTransportStatsHandler agora_gaming_rtc.IRtcEngine.OnRemoteVideoTransportStats |
OnRemoteAudioTransportStatsHandler agora_gaming_rtc.IRtcEngine.OnRemoteAudioTransportStats |
OnTranscodingUpdatedHandler agora_gaming_rtc.IRtcEngine.OnTranscodingUpdated |
OnAudioDeviceVolumeChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioDeviceVolumeChanged |
OnMediaEngineStartCallSuccessHandler agora_gaming_rtc.IRtcEngine.OnMediaEngineStartCallSuccess |
OnMediaEngineLoadSuccessHandler agora_gaming_rtc.IRtcEngine.OnMediaEngineLoadSuccess |
OnAudioMixingStateChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioMixingStateChanged |
OnFirstRemoteAudioDecodedHandler agora_gaming_rtc.IRtcEngine.OnFirstRemoteAudioDecoded |
OnLocalVideoStateChangedHandler agora_gaming_rtc.IRtcEngine.OnLocalVideoStateChanged |
OnRtmpStreamingStateChangedHandler agora_gaming_rtc.IRtcEngine.OnRtmpStreamingStateChanged |
OnNetworkTypeChangedHandler agora_gaming_rtc.IRtcEngine.OnNetworkTypeChanged |
OnLastmileProbeResultHandler agora_gaming_rtc.IRtcEngine.OnLastmileProbeResult |
OnLocalUserRegisteredHandler agora_gaming_rtc.IRtcEngine.OnLocalUserRegistered |
OnUserInfoUpdatedHandler agora_gaming_rtc.IRtcEngine.OnUserInfoUpdated |
OnLocalAudioStateChangedHandler agora_gaming_rtc.IRtcEngine.OnLocalAudioStateChanged |
OnRemoteAudioStateChangedHandler agora_gaming_rtc.IRtcEngine.OnRemoteAudioStateChanged |
OnLocalAudioStatsHandler agora_gaming_rtc.IRtcEngine.OnLocalAudioStats |
OnChannelMediaRelayEventHandler agora_gaming_rtc.IRtcEngine.OnChannelMediaRelayEvent |
OnChannelMediaRelayStateChangedHandler agora_gaming_rtc.IRtcEngine.OnChannelMediaRelayStateChanged |
OnFacePositionChangedHandler agora_gaming_rtc.IRtcEngine.OnFacePositionChanged |
OnRtmpStreamingEventHandler agora_gaming_rtc.IRtcEngine.OnRtmpStreamingEvent |
OnAudioPublishStateChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioPublishStateChanged |
OnVideoPublishStateChangedHandler agora_gaming_rtc.IRtcEngine.OnVideoPublishStateChanged |
OnAudioSubscribeStateChangedHandler agora_gaming_rtc.IRtcEngine.OnAudioSubscribeStateChanged |
OnVideoSubscribeStateChangedHandler agora_gaming_rtc.IRtcEngine.OnVideoSubscribeStateChanged |
OnFirstLocalAudioFramePublishedHandler agora_gaming_rtc.IRtcEngine.OnFirstLocalAudioFramePublished |
OnFirstLocalVideoFramePublishedHandler agora_gaming_rtc.IRtcEngine.OnFirstLocalVideoFramePublished |
OnUserSuperResolutionEnabledHandler agora_gaming_rtc.IRtcEngine.OnUserSuperResolutionEnabled |
OnUploadLogResultHandler agora_gaming_rtc.IRtcEngine.OnUploadLogResult |
OnVirtualBackgroundSourceEnabledHandler agora_gaming_rtc.IRtcEngine.OnVirtualBackgroundSourceEnabled |
OnRequestAudioFileInfoHandler agora_gaming_rtc.IRtcEngine.OnRequestAudioFileInfo |
OnContentInspectResultHandler agora_gaming_rtc.IRtcEngine.OnContentInspectResult |
OnSnapshotTakenHandler agora_gaming_rtc.IRtcEngine.OnSnapshotTaken |
OnClientRoleChangeFailedHandler agora_gaming_rtc.IRtcEngine.OnClientRoleChangeFailed |
OnAudioDeviceTestVolumeIndicationHandler agora_gaming_rtc.IRtcEngine.OnAudioDeviceTestVolumeIndication |
OnProxyConnectedHandler agora_gaming_rtc.IRtcEngine.OnProxyConnected |
OnWlAccMessageHandler agora_gaming_rtc.IRtcEngine.OnWlAccMessage |
OnWlAccStatsHandler agora_gaming_rtc.IRtcEngine.OnWlAccStats |
OnScreenCaptureInfoUpdatedHandler agora_gaming_rtc.IRtcEngine.OnScreenCaptureInfoUpdated |