public abstract class RCRTCEngine extends Object
| 构造器和说明 |
|---|
RCRTCEngine() |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract RCRTCFileVideoOutputStream |
createFileVideoOutputStream(String path,
boolean replace,
boolean playback,
String tag,
RCRTCVideoStreamConfig config)
创建自定义文件视频流
|
abstract RCRTCVideoOutputStream |
createVideoStream(String tag,
RCRTCVideoStreamConfig config)
创建自定义视频流
|
abstract void |
enableSpeaker(boolean enable)
设置是否切换听筒为扬声器
|
abstract IAudioEffectManager |
getAudioEffectManager()
音效管理器,管理播放、暂停等
|
abstract RCRTCMicOutputStream |
getDefaultAudioStream()
获取本地默认音频流
|
abstract RCRTCCameraOutputStream |
getDefaultVideoStream()
获取本地默认视频流
|
abstract EglBase.Context |
getEglBaseContext()
已过时。
|
abstract EGLContext |
getEglContext()
返回 EGLContext
Add from 5.1.6
|
static RCRTCEngine |
getInstance()
音视频引擎单例
|
abstract RCRTCRoom |
getRoom()
获取当前已加入的房间
|
abstract RCRTCScreenShareOutputStream |
getScreenShareVideoStream()
Added from 5.1.8
获取屏幕共享视屏流.
|
static String |
getVersion()
获取 SDK 版本号
|
abstract void |
init(Context application,
RCRTCConfig config)
初始化 SDK
|
abstract void |
joinOtherRoom(String roomId,
IRCRTCResultDataCallback<RCRTCOtherRoom> callBack)
加入副房间
前提必须已经 通过
joinRoom(String, RCRTCRoomType, IRCRTCResultDataCallback) 或 joinRoom(String, IRCRTCResultDataCallback) 加入了主房间 |
abstract void |
joinRoom(String roomId,
IRCRTCResultDataCallback<RCRTCRoom> callBack)
加入房间
|
abstract void |
joinRoom(String roomId,
RCRTCRoomConfig roomConfig,
IRCRTCResultDataCallback<RCRTCRoom> callBack)
加入指定类型房间
Added from 5.1.0
|
abstract void |
joinRoom(String roomId,
RCRTCRoomType roomType,
IRCRTCResultDataCallback<RCRTCRoom> callBack)
已过时。
|
abstract void |
leaveOtherRoom(String roomId,
boolean notifyFinished,
IRCRTCResultCallback callBack)
离开副房间
|
abstract void |
leaveRoom(IRCRTCResultCallback callBack)
离开房间
|
abstract void |
queryJoinedRoom(IRCRTCResultDataCallback<RCRTCJoinedRoomInfo[]> callBack)
Added from 5.1.14
查询当前用户在其他端的房间状态
|
abstract void |
registerEventListener(IRCRTCEngineEventListener engineEventListener)
设置全局事件通知方法
一般情况下,开发者调用融云 SDK 接口,通过接口参数 callBack 可以获取成功或者失败的结果。
|
abstract void |
registerStatusReportListener(IRCRTCStatusReportListener statusReportListener)
设置房间状态报告监听
|
abstract void |
setMediaServerUrl(String mediaServerUrl)
设置媒体服务器地址
|
abstract void |
startEchoTest(int internalInSeconds)
开始测试通话直播前检测
|
abstract void |
stopEchoTest()
停止测试通话直播前检测
|
abstract void |
subscribeLiveStream(String liveUrl,
RCRTCAVStreamType avStreamType,
RCRTCLiveCallback callBack)
已过时。
|
abstract void |
unInit()
反初始化 SDK,释放资源
|
abstract void |
unregisterEventListener()
取消全局事件通知方法
|
abstract void |
unregisterStatusReportListener()
取消注册房间状态报告监听
|
abstract void |
unsubscribeLiveStream(String liveUrl,
IRCRTCResultCallback callBack)
已过时。
|
public static RCRTCEngine getInstance()
public abstract void init(Context application, RCRTCConfig config)
application - 应用上下文config - 全局音视频配置信息public abstract RCRTCCameraOutputStream getDefaultVideoStream()
public abstract RCRTCScreenShareOutputStream getScreenShareVideoStream()
public abstract RCRTCFileVideoOutputStream createFileVideoOutputStream(String path, boolean replace, boolean playback, String tag, RCRTCVideoStreamConfig config)
path - 文件路径replace - 文件中音频是否替换麦克风数据,true 替换麦克风数据,false 与麦克风数据混音playback - 文件中的音频是否在本端播放tag - 自定义视频文件流标识config - 自定视频文件流的配置信息public abstract RCRTCMicOutputStream getDefaultAudioStream()
public abstract RCRTCVideoOutputStream createVideoStream(String tag, RCRTCVideoStreamConfig config)
tag - 自定义视频流标识config - 自定义视频的配置信息@Deprecated public abstract void subscribeLiveStream(String liveUrl, RCRTCAVStreamType avStreamType, RCRTCLiveCallback callBack)
该方法仅直播模式中观众观看(订阅)主播的直播流使用,观众无需加入房间。【不能用作主播订阅主播】
如果已订阅主播音频+视频。再次仅订阅(切换到)视频流(无论大小流),将取消订阅音频,回调(RCRTCLiveCallback)只返回视频流对象(onVideoStreamReceived(RCRTCVideoInputStream stream))。
如果已订阅主播音频+视频。再次仅订阅(切换到)音频流,将取消订阅视频,回调(RCRTCLiveCallback)只返回音频流对象(onAudioStreamReceived(RCRTCAudioInputStream stream))。
避免视频大小流切换时,视图重复添加导致的屏幕闪烁:
如果设置的 RCRTCAVStreamType 参数在{ RCRTCAVStreamType.VIDEO; RCRTCAVStreamType.VIDEO_TINY; RCRTCAVStreamType.AUDIO_VIDEO; RCRTCAVStreamType.AUDIO_VIDEO_TINY; } 之间切换订阅(均包含视频流,不分大小流), 可以在回调RCRTCLiveCallback.onVideoStreamReceived(RCRTCVideoInputStream)中不再创建视频渲染视图,也不需要将视图重复设置给RCRTCVideoInputStream。
liveUrl - 直播地址avStreamType - 订阅流类型callBack - 订阅结果回调@Deprecated public abstract void unsubscribeLiveStream(String liveUrl, IRCRTCResultCallback callBack)
liveUrl - 直播地址callBack - 取消订阅回调public abstract RCRTCRoom getRoom()
public abstract void enableSpeaker(boolean enable)
enable - 是否打开扬声器。默认为false。public abstract void joinRoom(String roomId, IRCRTCResultDataCallback<RCRTCRoom> callBack)
roomId - 房间 ID ,长度 64 个字符,可包含:`A-Z`、`a-z`、`0-9`、`+`、`=`、`-`、`_`callBack - 加入房间回调,不允许为 null@Deprecated public abstract void joinRoom(String roomId, RCRTCRoomType roomType, IRCRTCResultDataCallback<RCRTCRoom> callBack)
roomId - 房间 ID ,长度 64 个字符,可包含:`A-Z`、`a-z`、`0-9`、`+`、`=`、`-`、`_`roomType - 房间类型,用于区分普通房间还是直播房间callBack - 加入房间回调public abstract void joinRoom(String roomId, RCRTCRoomConfig roomConfig, IRCRTCResultDataCallback<RCRTCRoom> callBack)
roomId - 房间 ID ,长度 64 个字符,可包含:`A-Z`、`a-z`、`0-9`、`+`、`=`、`-`、`_`roomConfig - 房间配置参数,用于区分普通房间还是直播房间以及在直播间中扮演的角色callBack - 加入房间回调public abstract void leaveRoom(IRCRTCResultCallback callBack)
callBack - 离开房间回调public abstract void unInit()
public abstract void registerStatusReportListener(IRCRTCStatusReportListener statusReportListener)
statusReportListener - IRCRTCStatusReportListenerpublic abstract void unregisterStatusReportListener()
public abstract void registerEventListener(IRCRTCEngineEventListener engineEventListener)
leaveRoom(IRCRTCResultCallback) 退出房间。
engineEventListener - IRCRTCEngineEventListenerpublic abstract void unregisterEventListener()
public abstract void setMediaServerUrl(String mediaServerUrl)
public abstract IAudioEffectManager getAudioEffectManager()
@Deprecated public abstract EglBase.Context getEglBaseContext()
getEglContext()
Deprecated from 5.1.6public abstract EGLContext getEglContext()
EGLContextpublic abstract void joinOtherRoom(String roomId, IRCRTCResultDataCallback<RCRTCOtherRoom> callBack)
joinRoom(String, RCRTCRoomType, IRCRTCResultDataCallback) 或 joinRoom(String, IRCRTCResultDataCallback) 加入了主房间roomId - 房间 ID ,长度 64 个字符,可包含:`A-Z`、`a-z`、`0-9`、`+`、`=`、`-`、`_`callBack - 加入房间回调public abstract void leaveOtherRoom(String roomId, boolean notifyFinished, IRCRTCResultCallback callBack)
roomId - 需要离开的其他房间号码callBack - 离开房间回调notifyFinished - 离开副房间时是否结束连麦。如果房间中其他用户收到是(true)结束连麦,会清空所有关于连麦的缓存信息。
1. 为true或false,本端将会退出该副房间。连麦中的其他用户将收到回调通知 IRCRTCRoomEventsListener.onFinishOtherRoom(String, String)
2. 融云期望本次连麦的某个管理角色传true去结束连麦,而且仅允许本次连麦只有一个用户调用结束连麦public static String getVersion()
public abstract void startEchoTest(int internalInSeconds)
internalInSeconds - 录制音频秒数public abstract void stopEchoTest()
public abstract void queryJoinedRoom(IRCRTCResultDataCallback<RCRTCJoinedRoomInfo[]> callBack)
callBack - 结果回调