类 | |
class | com.alivc.rtc.AliRtcEngine |
class com::alivc::rtc::AliRtcEngine |
核心引擎接口
Public 成员函数 | |
abstract void | setUsbDeviceEvent (AliRtcUsbDeviceEvent usbDeviceEvent) |
abstract AliRtcUsbDeviceEvent | getUsbDeviceEvent () |
abstract boolean | isUsbDeviceDetected () |
abstract void | destroy () |
abstract int | setAudioOnlyMode (boolean audioOnly) |
abstract boolean | isAudioOnly () |
abstract int | joinChannel (AliRtcAuthInfo authInfo, String userName) |
abstract int | setParameter (String param) |
abstract int | switchChannel (AliRtcAuthInfo authInfo) |
abstract int | leaveChannel () |
abstract boolean | isInCall () |
abstract int | setCameraCapturerConfiguration (AliEngineCameraCapturerConfiguration cameraCapturerConfiguration) |
abstract SurfaceView | createRenderSurfaceView (Context context) |
abstract TextureView | createRenderTextureView (Context context) |
abstract int | setLocalViewConfig (AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track) |
abstract int | startPreview () |
abstract int | stopPreview () |
abstract int | enableLocalVideo (boolean enabled) |
abstract int | muteLocalCamera (boolean mute, AliRtcVideoTrack track) |
abstract int | publishLocalVideoStream (boolean enabled) |
abstract boolean | isCameraOn () |
abstract int | publishLocalAudioStream (boolean enabled) |
abstract int | muteLocalMic (boolean mute, AliRtcMuteLocalAudioMode mode) |
abstract void | setVideoEncoderConfiguration (AliRtcVideoEncoderConfiguration config) |
abstract void | setScreenShareEncoderConfiguration (AliRtcScreenShareEncoderConfiguration config) |
abstract int | setRemoteViewConfig (AliRtcVideoCanvas canvas, String uid, AliRtcVideoTrack track) |
abstract int | setRemoteAudioVolume (String uid, int volume) |
abstract int | muteRemoteAudioPlaying (String uid, boolean mute) |
abstract boolean | isLocalVideoStreamPublished () |
abstract boolean | isScreenSharePublished () |
abstract boolean | isLocalAudioStreamPublished () |
abstract int | publishLocalDualStream (boolean enable) |
abstract boolean | isDualStreamPublished () |
abstract int | setRemoteVideoStreamType (String uid, AliRtcVideoStreamType streamType) |
abstract int | setRemoteDefaultVideoStreamType (AliRtcVideoStreamType streamType) |
abstract int | subscribeAllRemoteAudioStreams (boolean sub) |
abstract int | subscribeAllRemoteVideoStreams (boolean sub) |
abstract int | subscribeRemoteAudioStream (String uid, boolean sub) |
abstract int | subscribeRemoteVideoStream (String uid, AliRtcVideoTrack track, boolean sub) |
abstract int | setDefaultSubscribeAllRemoteAudioStreams (boolean sub) |
abstract int | setDefaultSubscribeAllRemoteVideoStreams (boolean sub) |
abstract String[] | getOnlineRemoteUsers () |
abstract AliRtcRemoteUserInfo | getUserInfo (String uid) |
abstract boolean | isUserOnline (String uid) |
abstract int | enableSpeakerphone (boolean enable) |
abstract boolean | isSpeakerOn () |
abstract int | switchCamera () |
abstract AliRtcCameraDirection | getCurrentCameraDirection () |
abstract int | setCameraZoom (float zoom) |
abstract int | setCameraFlash (boolean flash) |
abstract boolean | isCameraFocusPointSupported () |
abstract boolean | isCameraExposurePointSupported () |
abstract int | setCameraFocusPoint (float x, float y) |
abstract int | setCameraExposurePoint (float x, float y) |
abstract boolean | isCameraAutoFocusFaceModeSupported () |
abstract boolean | setCameraAutoFocusFaceModeEnabled (boolean enable) |
abstract int | setRecordingVolume (int volume) |
abstract int | setPlayoutVolume (int volume) |
abstract int | setAudioProfile (AliRtcAudioProfile profile, AliRtcAudioScenario scenario) |
abstract Set< AliRtcAudioRouteType > | getAudioRouteDevices () |
abstract AliRtcAudioRouteType | getCurrentAudioRouteDevice () |
abstract int | setAudioRouteDevice (AliRtcAudioRouteType audioRouteType) |
abstract int | enableAudioVolumeIndication (int interval, int smooth, int reportVad) |
abstract int | setAudioEffectVoiceChangerMode (AliRtcAudioEffectVoiceChangerMode mode) |
abstract int | setAudioEffectPitchValue (double value) |
abstract int | setAudioEffectReverbMode (AliRtcAudioEffectReverbMode mode) |
abstract int | setAudioEffectReverbParamType (AliRtcAudioEffectReverbParamType type, float value) |
abstract void | setRtcEngineEventListener (AliRtcEngineEventListener listener) |
abstract void | setRtcEngineNotify (AliRtcEngineNotify engineNotify) |
abstract void | setSubscribeAudioNumChannel (AliRtcAudioNumChannel numChannel) |
abstract void | setSubscribeAudioSampleRate (AliRtcAudioSampleRate sampleRate) |
abstract void | registerAudioObserver (AliRtcAudioType type, AliRtcAudioObserver observer) |
abstract void | registerAudioVolumeObserver (AliRtcAudioVolumeObserver observer) |
abstract void | unRegisterAudioVolumeObserver () |
abstract void | unRegisterAudioObserver (AliRtcAudioType type) |
abstract void | registerVideoSampleObserver (AliRtcVideoObserver observer) |
abstract void | unRegisterVideoSampleObserver () |
abstract boolean | getVideoCaptureData (AliRtcVideoTrack track, AliRtcVideoSample videoSample) |
abstract boolean | getVideoPreEncoderData (AliRtcVideoTrack track, AliRtcVideoSample videoSample) |
abstract boolean | getVideoRenderData (String uid, AliRtcVideoTrack track, AliRtcVideoSample videoSample) |
abstract void | registerLocalVideoTextureObserver (AliRtcTextureObserver observer) |
abstract void | unRegisterLocalVideoTextureObserver () |
abstract void | setExternalVideoSource (boolean enable, boolean useTexture, AliRtcVideoTrack streamType, AliRtcRenderMode renderMode) |
abstract int | pushExternalVideoFrame (AliRtcRawDataFrame aliRawDataFrame, AliRtcVideoTrack streameType) |
abstract int | startAudioCapture () |
abstract int | startAudioCapture (boolean keepAlive) |
abstract int | stopAudioCapture () |
abstract int | startAudioPlayer () |
abstract int | stopAudioPlayer () |
abstract int | startAudioAccompany (String fileName, boolean onlyLocalPlay, boolean replaceMic, int loopCycles) |
abstract int | stopAudioAccompany () |
abstract int | setAudioAccompanyVolume (int volume) |
abstract int | setAudioAccompanyPublishVolume (int volume) |
abstract int | getAudioAccompanyPublishVolume () |
abstract int | setAudioAccompanyPlayoutVolume (int volume) |
abstract int | getAudioAccompanyPlayoutVolume () |
abstract int | pauseAudioAccompany () |
abstract int | resumeAudioAccompany () |
abstract int | getAudioAccompanyDuration () |
abstract int | getAudioAccompanyCurrentPosition () |
abstract int | setAudioAccompanyPosition (int posMs) |
abstract int | preloadAudioEffect (int soundId, String filePath) |
abstract int | unloadAudioEffect (int soundId) |
abstract int | playAudioEffect (int soundId, String filePath, int cycles, boolean publish) |
abstract int | stopAudioEffect (int soundId) |
abstract int | stopAllAudioEffects () |
abstract int | setAudioEffectPublishVolume (int soundId, int volume) |
abstract int | getAudioEffectPublishVolume (int soundId) |
abstract int | setAudioEffectPlayoutVolume (int soundId, int volume) |
abstract int | getAudioEffectPlayoutVolume (int soundId) |
abstract int | setAllAudioEffectsPublishVolume (int volume) |
abstract int | setAllAudioEffectsPlayoutVolume (int volume) |
abstract int | pauseAudioEffect (int soundId) |
abstract int | pauseAllAudioEffects () |
abstract int | resumeAudioEffect (int soundId) |
abstract int | resumeAllAudioEffects () |
abstract int | enableAudioDTX (boolean enable) |
abstract int | enableAudioAMD (boolean enable) |
abstract int | enableEarBack (boolean enable) |
abstract int | setEarBackVolume (int volume) |
abstract int | startIntelligentDenoise () |
abstract void | stopIntelligentDenoise () |
abstract int | enableMusicMode (boolean enable) |
abstract int | setChannelProfile (AliRTCSdkChannelProfile channelProfile) |
abstract int | setClientRole (AliRTCSdkClientRole clientRole) |
abstract int | refreshAuthInfo (AliRtcAuthInfo authInfo) |
abstract AliRTCSdkClientRole | getCurrentClientRole () |
abstract int | muteAllRemoteAudioPlaying (boolean mute) |
abstract int | muteAllRemoteVideoRendering (boolean mute) |
abstract int | startNetworkQualityProbeTest () |
abstract int | stopNetworkQualityProbeTest () |
abstract boolean | startRecord (AliRtcRecordType recordType, AliRtcRecordFormat recordFormat, String filePath, AliRtcRecordAudioConfig audioConfig, AliRtcRecordVideoConfig videoConfig) |
abstract void | stopRecord () |
abstract int | setPublishVideoStreamAttribute (AliRtcVideoTrack video_track, byte[] attr) |
abstract void | startLiveStreaming (AliRtcAuthInfo aliRtcAuthInfo) |
abstract int | stopLiveStreaming () |
abstract int | setLiveStreamingViewConfig (AliRtcVideoCanvas aliVideoCanvas, String uid) |
abstract int | startPublishLiveStream (String streamUrl, AliRtcLiveTranscodingParam transcoding) |
abstract int | updatePublishLiveStream (String streamUrl, AliRtcLiveTranscodingParam transcoding) |
abstract int | stopPublishLiveStream (String streamUrl) |
abstract AliRtcLiveTranscodingState | getPublishLiveStreamState (String streamUrl) |
abstract int | setExternalAudioSource (boolean enable, int sampleRate, int channels) |
abstract int | pushExternalAudioFrameRawData (byte[] samples, int samplesLength, long timestamp) |
abstract int | setExternalAudioVolume (int vol) |
abstract int | getExternalAudioVolume () |
abstract int | setMixedWithMic (boolean mixed) |
abstract int | setExteranlAudioRender (boolean enable, int sampleRate, int channelsPerFrame) |
abstract int | pushExternalAudioRenderRawData (byte[]audioSamples, int sampleLength, int sampleRate, int channelsPerFrame, long timestamp) |
abstract boolean | isBeautifierAvailable () |
abstract boolean | isBeautifierEnabled () |
abstract int | setBeautyEffect (boolean enable, AliRtcBeautyConfig config) |
abstract int | snapshotVideo (String userId, AliRtcVideoTrack trackType) |
abstract int | sendMediaExtensionMsg (byte[]message, int repeatCount) |
abstract int | addVideoWatermark (AliRtcVideoTrack track, String imageUrl, AliRtcWatermarkConfig config) |
abstract int | clearVideoWatermark (AliRtcVideoTrack track) |
abstract int | setPublishImage (String imageUrl) |
abstract int | respondMessageNotification (String tid, String contentType, String content) |
abstract int | uplinkChannelMessage (String contentType, String content) |
abstract void | postFeedback (String uid, String channelId, String description, AliRtcFeedbackType type, long timeStamp) |
abstract AliRtcEngine | createChannel (String extras) |
abstract void | destroyChannel () |
abstract AliRtcConnectionStatus | getCurrentConnectionStatus () |
abstract int | requestAudioFocus () |
abstract int | abandonAudioFocus () |
abstract int | startScreenShare () |
abstract int | startScreenShare (Intent intent) |
abstract int | startScreenShare (Intent intent, AliRtcScreenShareMode screenShareMode) |
abstract int | stopScreenShare () |
abstract int | setAudioShareVolume (int volume) |
abstract int | startChannelRelay (AliRtcChannelRelayConfiguration configuration) |
abstract int | updateChannelRelay (AliRtcChannelRelayConfiguration configuration) |
abstract int | stopChannelRelay () |
abstract int | enablePlugin (String module_name, String plugin_name, int plugin_type, int op_type, byte[] option) |
abstract int | removePlugin (int plugin_id) |
abstract int | setPluginOption (int plugin_id, int op_type, byte[] option) |
abstract int | getPluginOption (int plugin_id, int op_type, byte[] option) |
abstract void | showDebugView (ViewGroup view, int showType, String userId) |
abstract int | enableEncryption (boolean enable) |
abstract int | enableBackgroundExchange (boolean enable, String path, AliRtcBokehScaleModel model) |
abstract int | enableBackgroundBlur (boolean enable, int blurDegree) |
静态 Public 成员函数 | |
static int | setH5CompatibleMode (int enable) |
static int | getH5CompatibleMode () |
static void | setLogLevel (AliRtcLogLevel logLevel) |
static int | setLogDirPath (String logDirPath) |
static void | uploadLog () |
static String | getSdkVersion () |
static String | getErrorDescription (int errorCode) |
静态 Public 属性 | |
static final String | ENGINE_LOW_QUALITY_MODE |
static final String | ENGINE_BASIC_QUALITY_MODE |
static final String | ENGINE_STANDARD_QUALITY_MODE |
static final String | ENGINE_HIGH_QUALITY_MODE |
static final String | ENGINE_STEREO_HIGH_QUALITY_MODE |
static final String | SCENE_DEFAULT_MODE |
static final String | SCENE_EDUCATION_MODE |
static final String | SCENE_MEDIA_MODE |
static final String | SCENE_MUSIC_MODE |
Engine的生命周期 | |
static AliRtcEngineImpl | getInstance (Context context, String extras) |
static AliRtcEngineImpl | getInstance (Context context) |
|
static |
获取AliRtcEngine实例
context | Android 上下文 |
extras | 用于接收来自客户灰度下发的参数,通过JSON配置SDK的特别功能,可以是空字符串。详情请参见官网有关extras功能说明。 |
该方法为同步调用,以单例的形式提供对象创建。
createChannel
|
static |
获取AliRtcEngine实例
context | Android 上下文 |
该方法为同步调用,以单例的形式提供对象创建。
createChannel
|
static |
设置H5兼容模式
互动模式下,是否需要与Web SDK互通。如果使用Native SDK用户加入频道,需要与通过Web SDK加入频道的用户进行互通,则必须使用H5兼容模式,否则,Web用户查看Native用户将是黑屏。
enable |
|
|
static |
检查当前是否兼容H5、与Web SDK互通
|
static |
设置日志等级
logLevel | Log级别,详见com::alivc::rtc::AliRtcEngine::AliRtcLogLevel 枚举类型 |
AliRtcLogLevel::AliRtcLogLevelInfo
。
|
static |
设置SDK日志文件保存路径
logDirPath | 日志文件保存目录的绝对路径,该参数是一个目录路径,而不是文件的路径。 |
|
static |
上传日志文件
用户主动调用此接口,将当前日志目录下的所有未上传的日志文件进行压缩、打包、上传。
|
abstract |
设置USB设备事件监听
usbDeviceEvent | 事件监听实例 |
|
abstract |
获取USB设备事件监听实例
|
abstract |
判断当前是否检测到USB设备
|
abstract |
销毁 AliRtcEngine
实例
调用该方法将会释放所有内部使用的资源,当完成音视频通信之后都建议调用该方法释放实例.调用该方法后,你将不能再使用 AliRtcEngine
的其他方法和任何回调,如需要再次使用需要重新调用 AliRtcEngine#getInstance
方法创建一个新的实例。
AliRtcEngine
实例,请开发者务必保证 destroy 方法执行结束后再创建实例。
|
static |
查询sdk当前版本号
|
static |
|
abstract |
设置音频模式还是音视频模式
audioOnly |
|
joinChannel
之前设置
|
abstract |
查询是否纯音频模式
|
abstract |
加入频道
该方法让用户加入频道,一个频道内可以加入多个用户进行互相通话。
一般在调用该方法前会根据场景先选择频道模式,通过调用 setChannelProfile
实现,默认频道模式为通信模式 com::alivc::rtc::AliRtcEngine::AliRTCSdkChannelProfile::AliRTCSdkCommunication
authInfo | 认证信息,从App Server获取。 |
userName | 任意用于显示的用户名称。不是User ID |
AliRtcEngineEventListener#onJoinChannelResult
判断AliRtcEngineNotify#onRemoteUserOnLineNotify
回调leaveChannel
离会,且确保 AliRtcEngineEventListener#onLeaveChannelResult
回调收到后,再次调用进行入会switchChannel
进行快速切换其他房间joinChannel
前调用 setDefaultSubscribeAllRemoteAudioStreams
和 setDefaultSubscribeAllRemoteVideoStreams
|
abstract |
设置自定义参数
param | 自定义参数 |
|
abstract |
快速切换频道
当我们已经在一个频道中想要加入另外一个频道时,通常我们需要离会之后在收到离会回调之后再加入到另外一个频道中,调用方法可以实现快速切换频道。
成功调用该方切换频道后,本地会先收到离开原频道的回调 AliRtcEngineEventListener#onLeaveChannelResult
,再收到成功加入新频道的回调 AliRtcEngineEventListener#onJoinChannelResult
。
authInfo | 认证信息,从App Server获取。 |
AliRtcEngineEventListener#onJoinChannelResult
判断
|
abstract |
离开频道
调用该方法代表离开频道,即挂断或者停止通话。
异步方法,成功调用后需要收到 AliRtcEngineEventListener#onLeaveChannelResult
才会真正退出频道,离开频道成功远端用户会触发会收到 AliRtcEngineNotify#onRemoteUserOnLineNotify
回调。
如果未加入频道入会,leaveChannel
不会有任何影响。加入频道后,必须要调用该方法离开频道,否则无法加入其他频道。
AliRtcEngineEventListener#onLeaveChannelResult
leaveChannel
后立刻调用 destroy
方法,SDK将会无法触发 AliRtcEngineEventListener#onLeaveChannelResult
|
abstract |
获取当前是否在频道中
|
abstract |
采集偏好设置
cameraCapturerConfiguration | 偏好设置
|
startPreview
,joinChannel
之前设置
|
abstract |
创建视频显示的SurfaceView
显示视频视图必须调用该方法,而不是直接调用SurfaceView。如果需要创建TextureView,则调用createRenderTextureView
将返回值赋值AliRtcVideoCanvas#view
,调用setLocalViewConfig
设置本地预览显示视图或者调用setRemoteViewConfig
设置远程预览显示视图。
context | 活动上下文 |
|
abstract |
创建视频显示的TextureView
显示视频视图必须调用该方法,而不是直接调用TextureView。如果需要创建SurfaceView,则调用createRenderSurfaceView
将返回值赋值AliRtcVideoCanvas#view
,调用setLocalViewConfig
设置本地预览显示视图或者调用setRemoteViewConfig
设置远程预览显示视图。
context | 活动上下文 |
|
abstract |
设置本地预览显示视图
viewConfig | 本地视频显示属性, 详细见com::alivc::rtc::AliRtcEngine::AliRtcVideoCanvas |
track | 只支持 AliRtcVideoTrack#AliRtcVideoTrackCamera 和 AliRtcVideoTrack#AliRtcVideoTrackScreen |
AliRtcVideoCanvas#view
为null,则停止显示。 如果需要重新设置AliRtcVideoCanvas#renderMode
,请保持canvas中其他属性不变,仅修改 AliRtcVideoCanvas#renderMode
。 如果需要重新设置AliRtcVideoCanvas#mirrorMode
,请保持canvas中其他属性不变,仅修改 AliRtcVideoCanvas#mirrorMode
。
|
abstract |
开启本地视频预览
开启本地视频预览并自动打开摄像头
setLocalViewConfig
设置显示的view,则无法预览,但不影响推流。 可以在joinChannel
之前就开启预览会自动打开摄像头。
|
abstract |
|
abstract |
禁用或启用本地视频采集
enabled |
|
AliRtcEngineNotify#onUserVideoEnabled
获取用户是否禁用或启用本地视频采集状态。
|
abstract |
是否将停止本地视频数据发送
mute | true表示视频数据发送黑帧;false表示恢复正常 |
track | 只支持AliRtcVideoTrack#AliRtcVideoTrackCamera |
|
abstract |
是否推送本地视频流
enabled | 是否开启/关闭本地视频流推送
|
|
abstract |
检查camera是否打开
|
abstract |
是否推送音频流
enabled | 是否开启/关闭本地音频流推送
|
|
abstract |
停止/恢复本地音频数据发送
mute | true表示静音本地音频,发送静音帧; false表示取消静音; |
mode | 静音模式,静音模式分三种,详见com::alivc::rtc::AliRtcEngine::AliRtcMuteLocalAudioMode , 默认模式为静音本地麦克风采集音频和所有外部输入音频; |
|
abstract |
设置相机流视频编码属性
该方法用于设置相机流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节
config | 预定义的编码属性,详见com::alivc::rtc::AliRtcEngine::AliRtcVideoEncoderConfiguration |
|
abstract |
设置屏幕流视频编码属性
该方法用于设置屏幕流视频编码属性对应的视频参数,如分辨率、帧率、码率、视频方向等 所有设置的参数都有相应的范围限制,如果设置的参数不在有效范围内,SDK会自动调节
config | 预定义的屏幕共享编码属性,详见com::alivc::rtc::AliRtcEngine::AliRtcScreenShareEncoderConfiguration |
|
abstract |
设置远端视频显示视图
canvas | 本地视频显示属性, 详细见 com::alivc::rtc::AliRtcEngine::AliRtcVideoCanvas |
uid | 用户ID, 从App server分配的唯一标示符 |
track | 只支持AliRtcVideoTrack#AliRtcVideoTrackCamera 和AliRtcVideoTrack#AliRtcVideoTrackScreen |
AliRtcVideoCanvas#view
为null,则停止显示 如果需要重新设置AliRtcVideoCanvas#renderMode
,请保持canvas中其他属性不变,仅修改 AliRtcVideoCanvas#renderMode
如果需要重新设置AliRtcVideoCanvas#mirrorMode
,请保持canvas中其他属性不变,仅修改 AliRtcVideoCanvas#mirrorMode
|
abstract |
调节本地播放的指定远端用户音量
uid | 用户ID,从App server分配的唯一标示符 |
volume | 播放音量,取值范围[0,100] 0:静音;100:原始音量 |
|
abstract |
停止/恢复远端指定用户的音频流的播放
uid | 用户ID, 从App server分配的唯一标示符 |
mute |
|
|
abstract |
查询是否设置推送视频流
publishLocalVideoStream
方法设置为不推送
|
abstract |
|
abstract |
查询是否设置推送音频流
publishLocalAudioStream
方法设置为不推送
|
abstract |
是否推送次要视频流
enable | 是否开启/关闭次要视频流推送
|
publishLocalVideoStream
方法开启视频流推送
|
abstract |
查询是否设置推送次要视频流
publishLocalDualStream
方法设置为推送
|
abstract |
设置订阅的相机流格式,大流或小流
uid | 用户ID,从App server分配的唯一标示符 |
streamType | 流类型 |
|
abstract |
设置默认订阅的相机流格式,大流或小流
streamType | 流类型 |
|
abstract |
停止/恢复接收所有远端音频流
sub |
|
|
abstract |
停止/恢复接收所有远端视频流
sub |
|
|
abstract |
手动拉音频流
uid | uid |
sub |
|
subscribeAllRemoteAudioStreams
是全局控制,subscribeRemoteAudioStream
是精细控制。
|
abstract |
手动拉视频流
uid | uid |
track | 视频流类型 |
sub |
|
subscribeAllRemoteVideoStreams
是全局控制,subscribeRemoteVideoStream
是精细控制。
|
abstract |
设置是否默认接收音频流
sub |
|
subscribeRemoteAudioStream
,并指定你想要接收的远端用户ID; subscribeRemoteAudioStream
。setDefaultSubscribeAllRemoteAudioStreams(true) 只能恢复接收后面加入频道的用户的音频流。
|
abstract |
设置是否默认接收视频流
sub |
|
subscribeRemoteVideoStream
,并指定你想要接收的远端用户ID; subscribeRemoteVideoStream
;setDefaultSubscribeAllRemoteVideoStreams(true) 只能恢复接收后面加入频道的用户的视频流。
|
abstract |
获取远端在线用户列表
AliRTCSdkChannelProfile#AliRTCSdkInteractiveLive
模式,只有设置角色为 AliRTCSdkClientRole#AliRTCSdkInteractive
的用户为在线用户,本方法不返回角色为 AliRTCSdkClientRole#AliRTCSdkLive
的用户
|
abstract |
查询远端用户状态
通过 uid 查询指定远端用户的状态信息.
uid | 用户ID。从App server分配的唯一标示符 |
com::alivc::rtc::AliRtcRemoteUserInfo
|
abstract |
查询用户是否在线
uid | 用户ID,从App server分配的唯一标示符。不可为NULL |
|
abstract |
设置音频输出为听筒还是扬声器
enable | true:扬声器模式(默认扬声器);false:听筒模式 |
|
abstract |
获取当前音频输出为听筒还是扬声器
|
abstract |
切换前后摄像头
|
abstract |
获取摄像头方向
AliRtcCameraDirection#CAMERA_INVALID
|
abstract |
设置摄像头zoom
zoom | 缩放级别,范围从 1 到 camera支持的最大 zoom值 |
|
abstract |
设置摄像头闪光灯开关
flash | 是否打开闪光灯 |
|
abstract |
是否支持摄像头手动聚焦
|
abstract |
是否支持设置摄像头曝光点
|
abstract |
设置摄像头手动聚焦点
x | x轴坐标值 |
y | y轴坐标值 |
|
abstract |
设置摄像头曝光点
x | x轴坐标值 |
y | y轴坐标值 |
|
abstract |
是否支持摄像头自动人脸聚焦
|
abstract |
设置摄像头人脸聚焦
enable |
|
AliRtcEngine#isCameraAutoFocusFaceModeSupported
返回true 且此调用enable为true的情况下,实时对焦到采集到数据的人脸上
|
abstract |
设置录音音量
volume | 录音音量,取值范围[0,400]
|
|
abstract |
设置播放音量
volume | 播放音量,取值范围[0,400]
|
|
abstract |
设置音频profile
profile | 音频采集/编码模式参数, 详见com::alivc::rtc::AliRtcEngine::AliRtcAudioProfile ; |
scenario | 音频场景模式参数,详见com::alivc::rtc::AliRtcEngine::AliRtcAudioScenario ; |
|
abstract |
获取音频路由设备列表
|
abstract |
获取当前使用的音频路由设备
|
abstract |
设置指定的音频路由设备
audioRouteType | 指定使用的音频路由类型 |
|
abstract |
设置音量回调频率和平滑系数
interval | 时间间隔,单位毫秒,最小值不得小于10ms, 建议设置300-500ms, <= 0表示不启用音量提示和说话人提示功能 |
smooth | 平滑系数,数值越大平滑程度越高,反之越低,实时性越好,建议设置3,范围[0, 9]; |
reportVad | 说话人检测开关
|
AliRtcAudioVolumeObserver#onAudioVolume
和AliRtcAudioVolumeObserver#onActiveSpeaker
回调
|
abstract |
设置变声音效模式
mode | 参考 com::alivc::rtc::AliRtcEngine::AliRtcAudioEffectVoiceChangerMode 对应的变声音效模式值 |
|
abstract |
设置变调参数
value | 变调参数,范围:[0.5, 2.0],1.0表示音调不变,小于1.0表示音调降低,大于1.0表示音调升高,默认1.0 |
|
abstract |
设置混响音效模式
mode | 参考 com::alivc::rtc::AliRtcEngine::AliRtcAudioEffectReverbMode 对应的混响模式 |
|
abstract |
设置混响音效类型
type | 参考 com::alivc::rtc::AliRtcEngine::AliRtcAudioEffectReverbParamType 对应的混响类型 |
value | 混响参数值,不同混响类型的取值范围参考 com::alivc::rtc::AliRtcEngine::AliRtcAudioEffectReverbParamType 中取值说明 |
setAudioEffectReverbMode
之后调用
|
abstract |
设置自身相关监听事件回调
AliRtcEngineEventListener
类是SDK向应用发送自身回调事件的通知,应用开发者需要实现该接口类的方法来获取相关事件通知。默认所有接口都有空实现,开发者不需要实现所有方法,可根据自身业务来实现对应的事件方法。
listener | 用于接收来自engine的消息 |
|
abstract |
设置远端相关通知事件回调
AliRtcEngineNotify
类是SDK向应用发送远端用户相关回调事件的通知,应用开发者需要实现该接口类的方法来获取相关事件通知。默认所有接口都有空实现,开发者不需要实现所有方法,可根据自身业务来实现对应的事件方法。
engineNotify | 用于接收来自engine的消息 |
|
abstract |
设置回调音频声道数,配合registerAudioObserver
使用默认单声道(混音前数据不支持该参数设置)
numChannel | 声道数,必须是com::alivc::rtc::AliRtcEngine::AliRtcAudioNumChannel |
|
abstract |
设置回调音频采样率,配合registerAudioObserver
使用(混音前数据不支持该参数设置)
sampleRate | 采样率,必须是com::alivc::rtc::AliRtcEngine::AliRtcAudioSampleRate |
|
abstract |
注册音频数据输出
type | 音频数据类型,详见com::alivc::rtc::AliRtcEngine::AliRtcAudioType |
observer | 音频数据回调接收对象,详见com::alivc::rtc::AliRtcEngine::AliRtcAudioObserver |
|
abstract |
注册音量数据输出对象
observer | 音量数据接收对象,详见com::alivc::rtc::AliRtcEngine::AliRtcAudioVolumeObserver |
|
abstract |
取消注册音频数据输出对象
type | 音频数据类型,详见com::alivc::rtc::AliRtcEngine::AliRtcAudioType |
|
abstract |
注册视频数据输出对象
observer | 视频数据输出对象 |
|
abstract |
主动获取采集数据,onGetIfUserFetchObserverData 返回true时有效
track | 需要设置的track |
|
abstract |
主动获取编码前数据,onGetIfUserFetchObserverData 返回true时有效
track | 需要设置的track |
|
abstract |
主动获取拉流数据,onGetIfUserFetchObserverData 返回true时有效
uid | 用户ID。从App server分配的唯一标示符 |
track | 需要设置的track |
|
abstract |
注册本地相机流视频OpenGL纹理数据观测器
observer | OpenGL纹理数据观测器。非空值,传空调用失败。详见 com::alivc::rtc::AliRtcEngine::AliRtcTextureObserver |
|
abstract |
启用外部视频输入源
enable |
|
useTexture | 是否输入纹理数据
|
streamType | 流类型,详见 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
|
renderMode | 处理模式,外部输入视频源宽高比和推流profile不一致时,会按照对应的rendermode做对应处理,详见 com::alivc::rtc::AliRtcEngine::AliRtcRenderMode
|
|
abstract |
输入视频数据
aliRawDataFrame | 帧数据,详见 com::alivc::rtc::AliRtcEngine::AliRtcRawDataFrame |
streameType | 流类型,详见 com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack
|
|
abstract |
开启音频采集
此接口可以控制提前打开音频采集,如果不设置,则SDK会自动控制音频采集设备:
publishLocalAudioStream
,SDK在入会后会打开音频采集publishLocalAudioStream
,SDK在入会后不会打开音频采集
|
abstract |
开启音频采集
此接口可以控制提前打开音频采集,如果不设置,则SDK会自动控制音频采集设备:
publishLocalAudioStream
,SDK在入会后会打开音频采集publishLocalAudioStream
,SDK在入会后不会打开音频采集keepAlive | true: 离会后采集设备保持开启状态;false: 离会后采集设备关闭 |
|
abstract |
关闭音频采集
|
abstract |
打开音频播放设备
|
abstract |
|
abstract |
开始伴奏混音
fileName | 伴奏文件路径 |
onlyLocalPlay | 是否只本地播放 |
replaceMic | 是否替换掉MIC |
loopCycles | 循环次数,可以设置-1(无限循环)或者>0的正整数次,其他值无效 |
AliRtcEngineNotify#onAudioPlayingStateChanged
监听播放器状态
|
abstract |
停止伴奏混音
|
abstract |
设置伴奏音量
volume | 伴奏音量,取值范围[0, 100] |
|
abstract |
设置伴奏推流音量
volume | 伴奏推流音量,取值范围[0,100] |
|
abstract |
获取伴奏推流音量
|
abstract |
设置伴奏本地播放音量
volume | 伴奏本地播放音量,取值范围[0,100] |
|
abstract |
获取伴奏本地播放音量
|
abstract |
暂停伴奏混音
|
abstract |
重新开始伴奏混音
|
abstract |
获取伴奏文件时长, 单位为毫秒
|
abstract |
获取伴奏文件播放进度,单位为毫秒
|
abstract |
设置伴奏文件的播放位置
posMs | 进度条位置,单位为毫秒 |
|
abstract |
预加载音效文件
soundId | 用户给该音效文件分配的ID |
filePath | 音效文件路径,支持本地文件和网络url |
|
abstract |
|
abstract |
开始播放音效
开始播放音效接口,可以多次调用该方法传入不同的soundId和filePath,同时播放多个音效文件,音效文件播放结束后,SDK 会触发AliRtcEngineNotify#onAudioEffectFinished
回调
soundId | 用户给该音效文件分配的ID,每个音效均有唯一的ID,如果你已通过 preloadAudioEffect 将音效加载至内存,确保这里的soundId与preloadAudioEffect 设置的soundId相同 |
filePath | 文件路径,支持本地文件和网络url |
cycles | 音效循环播放次数
|
publish | 是否将音效传到远端
|
|
abstract |
停止播放音效
soundId | 用户给该音效文件分配的ID,每个音效均有唯一的ID,如果你已通过 preloadAudioEffect 将音效加载至内存,确保这里的soundId与preloadAudioEffect 设置的soundId相同 |
|
abstract |
停止播放所有音效
|
abstract |
设置音效推流混音音量
soundId | 用户给该音效文件分配的ID |
volume | 推流混音音量,范围是:[0, 100],默认值:50 |
playAudioEffect
后调用
|
abstract |
获取音效推流混音音量
soundId | 用户给该音效文件分配的ID |
playAudioEffect
后调用
|
abstract |
设置音效本地播放音量
soundId | 用户给该音效文件分配的ID |
volume | 音效本地播放音量,范围:[0, 100],默认值:50 |
playAudioEffect
后调用
|
abstract |
获取音效本地播放音量
soundId | 用户给该音效文件分配的ID |
playAudioEffect
后调用
|
abstract |
设置所有音效推流混音音量
volume | 推流混音音量,范围是:[0, 100],默认值:50 |
|
abstract |
设置所有音效本地播音量
volume | 音效本地播放音量,范围:[0, 100],默认值:50 |
|
abstract |
暂停音效
soundId | 用户给该音效文件分配的ID |
|
abstract |
暂停所有音效
|
abstract |
恢复指定音效文件
soundId | 用户给该音效文件分配的ID |
|
abstract |
恢复所有音效文件
|
abstract |
是否开启语音活动检测
enable | true表示开启, false表示关闭, 默认false |
|
abstract |
开启音频静音检测(Audio Mute Detection, 静音不发送音频包)
enable | true表示开启,false表示关闭,默认false; |
muteLocalMic
并且静音模式为AliRtcMuteLocalAudioMode#AliRtcMuteAudioModeDefault
或者AliRtcMuteLocalAudioMode#AliRtcMuteAllAudioMode
的模式下,停止音频编码和音频包的发送,节省用户流量。
|
abstract |
启用耳返
enable | 是否启用耳返 true:开启; false:关闭 默认: 关闭 |
|
abstract |
设置耳返音量
volume | 音量大小,范围是:[0 ~ 100],默认值为100 |
|
abstract |
开启智能降噪
|
abstract |
关闭智能降噪
|
abstract |
启用音乐模式
enable | 是否启用音乐模式, true表示开启, false表示关闭, 默认关闭 |
setAudioProfile
中设置场景为AliRtcAudioScenario::AliRtcSceneMusicMode
来实现;
|
abstract |
设置频道模式
根据业务需求可以配置不同的频道模式,AliRTC会根据不用的频道模式模式采用不用的策略,目前主要提供通信模式(默认)、互动模式、低延迟互动直播模式
【通信模式 AliRTCSdkCommunication】
【互动模式 AliRTCSdkInteractiveLive】
setClientRole
进行设置。【低延迟互动直播模式 AliRTCSdkInteractiveWithLowLatencyLive】
startLiveStreaming
进行拉流channelProfile | 频道模式类型,详细请参考 com::alivc::rtc::AliRtcEngine::AliRTCSdkChannelProfile |
leaveChannel
后可以重新设置
|
abstract |
设置互动模式下的用户角色
该方法在 AliRTCSdkChannelProfile 设置为 AliRTCSdkChannelProfile#AliRTCSdkInteractiveLive
时有效
该方法为异步方法,可以在入会前调用,也可以在入会后调用进行用户角色切换,默认角色为:观众角色
AliRtcEngineNotify#onRemoteUserOnLineNotify
回调sssspublishLocalVideoStream
和 publishLocalAudioStream
AliRtcEngineEventListener#onUpdateRoleNotify
回调:AliRtcEngineNotify#onRemoteUserOnLineNotify
回调publishLocalVideoStream
和 publishLocalAudioStream
AliRtcEngineNotify#onRemoteUserOffLineNotify
回调clientRole | 用户角色类型 com::alivc::rtc::AliRtcEngine::AliRTCSdkClientRole |
|
abstract |
刷新鉴权信息
该方法用于更新鉴权信息 com::alivc::rtc::AliRtcAuthInfo
,主要为了防止鉴权过期,导致推流失败,当我们收到 AliRtcEngineNotify#onAuthInfoWillExpire
回调时,应用应当更新鉴权信息
authInfo | 鉴权信息 |
|
abstract |
获取当前用户角色
|
abstract |
停止/恢复远端的所有音频流的播放
mute |
|
|
abstract |
停止/恢复远端的所有视频流的渲染
mute |
|
|
abstract |
开启网络质量探测
网络质量探测需要在未入会 joinChannel
情况下调用,探测结果在 AliRtcEngineEventListener#onNetworkQualityProbeTest
中回调
|
abstract |
停止网络质量探测
|
abstract |
开始录制
SDK提供了屏录录制的功能,可以录制本地或远端的音频流、视频流、相机流
recordType | 录制类型, 详细定义见com::alivc::rtc::AliRtcEngine::AliRtcRecordType |
recordFormat | 录制文件格式, 详细定义见com::alivc::rtc::AliRtcEngine::AliRtcRecordFormat |
filePath | 文件路径 |
audioConfig | 音频设置, 详细定义见com::alivc::rtc::AliRtcEngine::AliRtcRecordAudioConfig |
videoConfig | 视频设置, 详细定义见com::alivc::rtc::AliRtcEngine::AliRtcRecordVideoConfig |
|
abstract |
停止录制
SDK提供了停止录制的功能
|
abstract |
设置视频流属性
video_track | 视频流类型,详细见com::alivc::rtc::AliRtcEngine::AliRtcVideoTrack |
attr | 视频流属性 |
|
abstract |
开始低延迟互动直播拉流
该方法仅在低延迟互动模式 AliRTCSdkChannelProfile::AliRTCSdkInteractiveWithLowLatencyLive
下,角色为观众 AliRTCSdkClientRole::AliRTCSdkLive
时调用有意义
aliRtcAuthInfo | 入会鉴权信息 |
AliRtcEngineEventListener#onLiveStreamingSignalingResult
回调
|
abstract |
停止直播拉流
|
abstract |
设置低延迟互动直播拉流渲染窗口
aliVideoCanvas | 渲染参数,包含了窗口以及渲染方式 |
uid | 用户id,该参数即将废弃,可以传空字符串 |
|
abstract |
开启旁路直播
SDK提供了开启旁路直播的功能,可以把实时音视频流经过混流、混音处理转为标准直播流并推送至指定CDN供应商
streamUrl | 推流地址 |
transcoding | 推流所需参数, 详细定义见com::alivc::rtc::AliRtcLiveTranscodingParam |
|
abstract |
更新旁路直播相关参数
SDK提供了更新旁路直播的功能,用于实时更新旁路直播参数
streamUrl | 推流地址 |
transcoding | 推流所需参数, 详细定义见com::alivc::rtc::AliRtcLiveTranscodingParam |
|
abstract |
停止旁路直播
SDK提供了停止旁路直播的功能
streamUrl | 推流地址 |
|
abstract |
获取旁路直播状态
streamUrl | 推流地址 |
|
abstract |
设置是否启用外部音频输入源
enable | true 开启,false 关闭 |
sampleRate | 采样率 16k 48k... |
channels | 声道数 1:单声道; 2:双声道 |
|
abstract |
输入外部音频数据推流到远端
samples | 音频数据buffer |
samplesLength | 音频数据buffer长度 |
timestamp | 时间戳 |
|
abstract |
设置外部音频音量
vol | 音量,取值范围[0,100] |
|
abstract |
获取混音音量
|
abstract |
设置是否与麦克风采集音频混合
mixed |
|
|
abstract |
设置是否启用外部输入音频播放
enable |
|
sampleRate | 采样率 16000 48000... |
channelsPerFrame | 声道数 1:单声道; 2:双声道 |
|
abstract |
输入外部音频数据本地播放
audioSamples | 音频数据buffer |
sampleLength | 音频数据buffer长度 |
sampleRate | 输入音频数据的采样率 |
channelsPerFrame | 输入音频数据的声道数 |
timestamp | 时间戳 |
|
abstract |
美颜功能是否有效
|
abstract |
美颜功能是否开启
|
abstract |
开启或关闭美颜功能, 并设置美颜效果参数
enable |
|
config | 美颜效果参数, 详细定义见com::alivc::rtc::AliRtcEngine::AliRtcBeautyConfig |
|
abstract |
视频截图功能
userId | 用户ID, userId 为null或者为""代表本地用户 |
trackType | 视频流类型,只支持AliRtcVideoTrack#AliRtcVideoTrackCamera 和AliRtcVideoTrack#AliRtcVideoTrackScreen |
AliRtcEngineEventListener#onSnapshotComplete
AliRtcEngineEventListener#onSnapshotComplete
回调获取当前截图画面。
|
abstract |
发送媒体扩展信息
SDK提供了发送和接收媒体扩展信息的功能,接收端参考 AliRtcEngineNotify#onMediaExtensionMsgReceived
,使用场景:
message | 媒体扩展信息,长度限制为最大8字节 |
repeatCount | 重复次数,代表消息冗余度,用于防止网络丢包导致的消息丢失 |
|
abstract |
添加水印
SDK提供了添加水印的功能,适用于推送屏幕流或者相机流场景
track | 视频流类型,只支持AliRtcVideoTrack#AliRtcVideoTrackCamera 和AliRtcVideoTrack#AliRtcVideoTrackScreen |
imageUrl | 水印图片路径 |
config | 水印配置,详细见com::alivc::rtc::AliRtcEngine::AliRtcWatermarkConfig |
|
abstract |
清理水印
SDK提供了清理水印的功能,适用于推送屏幕流或者相机流场景
|
abstract |
设置上行弱网时的替代图片
imageUrl | 静态png图片路径 |
|
abstract |
发送下行通道消息(反馈消息处理结果)
tid | 信息id(自定义id) |
contentType | 信息类型(自定义类型) |
content | 信息内容 |
AliRtcEngineNotify#onMessage
后,使用该接口发送下行接收反馈消息
|
abstract |
发送上行通道消息(saas客户端发送信令消息到saas服务端)
contentType | 信息类型(自定义类型) |
content | 信息内容 |
AliRtcEngineNotify#onUplinkChannelMessage
|
abstract |
SDK问题反馈
uid | 问题用户id (允许为null) |
channelId | 问题频道id (允许为null) |
description | 问题描述(支持中英文, 必填) |
type | 问题类型,参考com::alivc::rtc::AliRtcEngine::AliRtcFeedbackType |
timeStamp | 问题发生的时间戳 (Unix时间戳,大致时间,无需特别精确,可以为0) |
|
abstract |
获取AliRtcEngine子频道实例
extras | extras,参考文档:extras参数配置说明。 |
destroyChannel
进行释放
|
abstract |
销毁子频道
使用joinChannel
加入的是主频道,不需要调用destroyChannel销毁
|
abstract |
获取当前网络链接状态
AliRtcEngineEventListener#onConnectionStatusChange
回调通知 AliRtcConnectionStatus#AliRtcConnectionStatusDisconnected
|
abstract |
|
abstract |
放弃音频焦点
requestAudioFocus
|
abstract |
|
abstract |
启动屏幕分享
intent | 外部创建启动屏幕分享的Activity |
startScreenShare(Intent, AliRtcScreenShareMode)
|
abstract |
启动屏幕分享
intent | 外部创建启动屏幕分享的Activity,外部未创建则传null,建议传null |
screenShareMode | 屏幕共享模式,只共享音频/视频/音视频,具体值参考AliRtcScreenShareMode |
|
abstract |
停止屏幕共享
|
abstract |
设置共享音频的音量大小
volume | 共享音频音量大小,取值范围[0, 100] |
|
abstract |
开启跨频道转推 仅在 AliRTCSdkChannelProfile#AliRTCSdkInteractiveLive
和 AliRTCSdkChannelProfile#AliRTCSdkInteractiveWithLowLatencyLive
模式下生效,且调用者必须已在推流中
configuration | 频道配置信息,见com::alivc::rtc::AliRtcEngine::AliRtcChannelRelayConfiguration |
|
abstract |
更新跨频道转推
configuration | 频道配置信息,见com::alivc::rtc::AliRtcEngine::AliRtcChannelRelayConfiguration |
|
abstract |
停止跨频道转推
|
abstract |
开启音视频处理算法插件
RTC采用插件件形式提供音视频增强及特效能力,可通过官网组件文档 进行组件下载,参考插件集成文档集成进RTC引擎;
module_name | 插件库包名,组件文档中会有对应描述; |
plugin_name | 插件类名,根据下载的插件库中头文件中描述进行设置 如:虚拟背景插件头文件中描述了 pluginName 为 PluginBokeh; |
plugin_type | 插件类型,值为AliRtcPluginDataType 与AliRtcPluginOperationType组合, 如:视频前处理插件 pluginType = (AliRtcPluginDataTypeVideo << 16)|AliRtcPluginPreOperation; 如果需要修改已开启插件的pluginType,需要先进行插件关闭,再次开启; |
op_type | 插件初始化参数类型,请阅读插件库接入文档,参考各个插件头文件中描述进行设置; |
option | 插件初始化参数值,请阅读插件库接入文档,参考各个插件头文件中描述进行设置; |
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;
|
abstract |
关闭音视频处理算法插件
plugin_id | 开启音视频处理算法插件接口调用成功后返回值; |
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;
|
abstract |
根据插件ID设置插件
plugin_id | 插件开启接口调用成功后返回值; |
op_type | 设置插件参数类型,请阅读插件库接入文档,参考各个插件头文件中描述进行设置; |
option | 设置插件参数值,请阅读插件库接入文档,参考各个插件头文件中描述进行设置; |
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;
|
abstract |
根据插件ID获取插件内部信息
plugin_id | 开启插件接口调用成功后返回值; |
op_type | 获取信息类型,请阅读插件库接入文档,参考各个插件头文件中描述进行设置; |
option | 返回的信息写入地址,插件会根据opType类型将返回的信息重写入option,需要进行内存初始化,长度请参考接入文档及插件头文件描述; |
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;
|
abstract |
展示用户Debug数据
view | 对外展示的View,由客户传入,显示样式由客户指定 |
showType | 展示类型:0: 不显示 1.音频 2.视频 3.全部;另外可以传入特殊的值来展示 |
userId | 对应用户ID |
|
abstract |
开启/关闭内置加解密功能:需要在入会前调用
enable | 是否开启 |
|
abstract |
开启/关闭虚拟背景替换功能
需要集成虚拟背景插件,虚拟背景简介及下载详见官网组件文档 ;
enable | 是否开启; |
path | 虚拟背景本地图片路径,支持JPG,PNG 格式; |
model | 背景图缩放模式,裁剪或缩放;
|
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;
|
abstract |
开启/关闭虚拟背景虚化功能
需要集成虚拟背景插件,虚拟背景简介及下载详见官网组件文档 ; 需要下载及集成虚拟背景插件,背景替换与背景虚化不可同时使用,如开启虚拟背景开关后再次开启背景虚化,则只有背景虚化效果;
enable | 是否开启; |
blurDegree | 虚化程度 取值范围 [0-100]; |
com::alivc::rtc::AliRtcEngine::AliRtcPluginErrorCode
;