初始化相关
addHandler
添加事件处理器。
public void addHandler(IRtcEngineEventHandler handler)
SDK 使用 IRtcEngineEventHandler 将回调发送到 App。你可以继承该类中的方法以接收回调。该类中的所有方法都有默认(空)实现,因此你只需根据实际场景继承所需的回调方法。 在回调中应避免执行耗时操作或调用可能阻塞线程的 API,例如 sendStreamMessage,否则可能导致 SDK 无法正常工作。
参数
- handler
- 要添加的回调事件处理器,详见 IRtcEngineEventHandler。
create [1/2]
创建并初始化 RtcEngine 实例。
public static synchronized RtcEngine create(Context context, String appId, IRtcEngineEventHandler handler) throws Exception
RtcEngine 类中的所有方法均为异步执行,声网建议在同一线程中调用这些方法。
- 在调用其他 API 之前,必须先调用此方法以创建 RtcEngine 实例。
- 你可以通过调用此方法或调用 create [2/2] 来创建 RtcEngine 实例。与此方法相比,create [2/2] 支持更多配置,例如指定连接区域和设置日志文件。
- 每个 App 仅支持创建一个 RtcEngine 实例。
参数
- context
- Android Activity 的上下文。
- appId
- 声网为你的项目签发的 App ID。只有使用相同 App ID 的用户才能加入同一个频道并进行通信。一个 App ID 只能用于创建一个 RtcEngine 实例。若需更换 App ID,请调用 destroy [2/2] 销毁当前 RtcEngine 实例,然后再创建新的实例。
- handler
- RtcEngine 的事件处理器。详见 IRtcEngineEventHandler。
返回值
方法调用成功,返回已初始化的 RtcEngine 实例。 方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。
所属接口类destroy [2/2]
销毁 RtcEngine 实例并释放相关资源。
public static synchronized void destroy(@Nullable IRtcEngineReleaseCallback callback)
当你不再需要实时通信时,调用该方法以释放 RtcEngine 实例,使相关资源可用于其他操作。推荐在语音通话或视频通话等场景中使用。
参数
- callback
- 用于配置引擎的同步或异步销毁方式:
- 非
null:异步销毁。方法会立即返回,但引擎资源可能尚未完全释放。引擎销毁后会触发 onEngineReleased 回调。 null:同步销毁。方法仅在引擎资源完全释放后才返回。详见 IRtcEngineReleaseCallback。
- 非
create [2/2]
创建并初始化 RtcEngine 实例。
public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception
你可以通过调用此方法或 create [1/2] 方法来创建 RtcEngine 实例。与后者相比,此方法支持更多配置选项,例如指定连接区域和设置日志文件。
调用时机
在调用其他 API 之前,必须先调用此方法创建 RtcEngine 对象。
参数
- config
- 用于配置 RtcEngine 实例的参数。详见 RtcEngineConfig。
返回值
方法调用成功,返回初始化后的 RtcEngine 对象。 方法调用失败,SDK 会抛出异常,并返回相应的错误信息。你需要捕获异常并进行处理。
所属接口类destroy [1/2]
释放 RtcEngine 实例。
public static synchronized void destroy()
该方法释放所有由声网 SDK 占用的资源。成功调用该方法后,将无法再使用 SDK 中的任何方法或回调。如需再次使用实时通信功能,必须调用 create [2/2] 创建新的 RtcEngine 实例。
removeHandler
移除指定的 IRtcEngineEventHandler 实例。
public void removeHandler(IRtcEngineEventHandler handler)
该方法用于移除指定的回调处理器。对于只需监听一次的回调事件,在接收到事件后,可以调用该方法移除对应的回调处理器。
参数
- handler
- 要移除的回调处理器。详见 IRtcEngineEventHandler。
onEngineReleased
RtcEngine 被释放时触发的回调。
@CalledByNative void onEngineReleased();
该回调在调用 destroy [2/2] 方法以异步方式释放 RtcEngine 对象时被触发。
触发时机
该回调在调用 destroy [2/2] 方法以异步方式释放 RtcEngine 对象时被触发。