基本信息 | 说明 |
---|---|
支持版本 | 4.x版本 |
接入方式 | 本地、maven远程依赖 |
支持Android API最低版本 | 19 |
方法 | 注视 |
---|---|
isMultiMediaCall() | 是否是多人连麦 |
示例代码
xxxxxxxxxx
DWLive.getInstance().isMultiMediaCall()
方法 | 注视 |
---|---|
public void callInPreviewWithType(RtcCallBack rtcCallBack, BaseRtcClient.RtcConnectType type) | 主动申请上麦 |
示例代码
xxxxxxxxxx
DWLive.getInstance().callInPreviewWithType(new RtcCallBack() {
public void onFail(int code) {
//code (StreamErrorCode)-1:rtc连接超时;-2:初始化失败;-3:远端流失败;-4:rtc连接断开;-5:主动发起60s未收到老师同意;-8:连麦人数超限制
}
public void onSuccess(HDMediaView hdMediaView) {
//hdMediaView 本地摄像头预览view,可能为null,单人连麦为null,音频连麦为null
}
},videoRtc?BaseRtcClient.RtcConnectType.AUDIOVIDEO:BaseRtcClient.RtcConnectType.AUDIO);
方法 | 注释 |
---|---|
public void agreeCallInPreview(RtcCallBack rtcCallBack, BaseRtcClient.RtcConnectType type) | 同意上麦 |
示例代码
xxxxxxxxxx
DWLive.getInstance().agreeCallInPreview(new RtcCallBack() {
public void onFail(int code) {
//code (StreamErrorCode)-1:rtc连接超时;-2:初始化失败;-3:远端流失败;-4:rtc连接断开;-5:主动发起60s未收到老师同意;-8:连麦人数超限制
}
public void onSuccess(HDMediaView hdMediaView) {
//hdMediaView 本地摄像头预览view,可能为null,单人连麦为null,音频连麦为null
}
},isVideoRtc()?BaseRtcClient.RtcConnectType.AUDIOVIDEO:BaseRtcClient.RtcConnectType.AUDIO);
方法 | 注释 |
---|---|
public void rejectCall() | 拒绝上麦 |
示例代码
xxxxxxxxxx
DWLive.getInstance().rejectCall();
方法 | 注释 |
---|---|
public void hangup(BaseCallback baseCallback) | 挂断 |
示例代码
xxxxxxxxxx
/**
* 学员主动挂断
* 主动挂断连麦,用户主动点击下麦按钮时需要在onSuccess中处理下游逻辑,退出直播间、下课等调用 hangup时不需要关心callback
*/
DWLive.getInstance().hangup(new BaseCallback() {
public void onError(String error) {
}
public void onSuccess(Object msg) {
}
});
方法 | 注释 |
---|---|
public void setLocalVideoEnable(boolean enable) | 设置本地视频开启(开始直播之后生效) |
示例代码
xxxxxxxxxx
DWLive.getInstance().setLocalVideoEnable(on);
方法 | 注释 |
---|---|
public void setLocalAudioEnable(boolean enable) | 设置本地音频开启(开始直播之后生效) |
示例代码
xxxxxxxxxx
DWLive.getInstance().setLocalAudioEnable(on);
方法 | 注释 |
---|---|
public void switchLocalCamera() | 切换本地摄像头,默认前置 |
示例代码
xxxxxxxxxx
DWLive.getInstance().switchLocalCamera();
方法 | 注释 |
---|---|
public void pullRemoteStream(String userId, PullRemoteStreamCallBack baseCallback) | 拉取远端流 |
示例代码
xxxxxxxxxx
DWLive.getInstance().pullRemoteStream(userId, new PullRemoteStreamCallBack() {
public void onError(String error) {
}
public void onSuccess(HDMediaView view, RemoteStreamInfo info) {
//view surface渲染视图 info:userId、userName、isAllowAudio、isAllowVideo
}
});
方法 | 注释 |
---|---|
public void removeRemoteStream(String userId, BaseCallback baseCallback) | 移除远端流 |
示例代码
xxxxxxxxxx
DWLive.getInstance().removeRemoteStream(userId,null);
方法 | 注释 |
---|---|
void onMediaCallStatusDidChange(boolean isAllowSpeak, BaseRtcClient.RtcConnectType type) | 房间是否允许连麦 |
方法 | 注释 |
---|---|
void onRemoteStreamEnable(String userId, String hdLiveMediaCallRole) | 远端流可用 |
方法 | 注释 |
---|---|
void onRemoteStreamDisable(String userId) | 远端流不可用 |
方法 | 注释 |
---|---|
void onInviteCall() | 邀请上麦 |
方法 | 注释 |
---|---|
void onInviteCanceled() | 取消邀请 |
方法 | 注释 |
---|---|
void onAudioStatusDidChange(String userId, boolean isAllowAudio, boolean isSelf) | 音频状态改变 |
备注:主动更改音频状态,不会回调此方法
方法 | 注释 |
---|---|
void onVideoStatusDidChange(String userId, boolean isAllowVideo, boolean isSelf) | 视频状态改变 |
备注:主动更改视频状态,不会回调此方法
方法 | 注释 |
---|---|
void onCallWasHangup() | 被挂断 |
方法 | 注释 |
---|---|
void onConnectionException(int code) | 连麦异常 |
示例代码
xxxxxxxxxx
RTCConnectListener rtcConnectOutListener = new RTCConnectListener() {
public void onInviteCall() {
//收到邀请
}
public void onInviteCanceled() {
//收到取消邀请
}
public void onCallWasHangup() {
//连麦被挂断
}
public void onConnectionException(int code) {
//code(StreamErrorCode) -3:远端流失败;-4:rtc连接断开
}
public void onRemoteStreamEnable(String userId, String role) {
//远端流可用
}
public void onRemoteStreamDisable(String userId) {
//远端流不可用
}
public void onMediaCallStatusDidChange(boolean isAllowSpeak, BaseRtcClient.RtcConnectType type) {
//连麦服务变更 isAllowSpeak:是否允许连麦;type:连麦类型(AUDIO、AUDIOVIDEO)
}
public void onAudioStatusDidChange(String userid, boolean isAllowAudio, boolean isSelf) {
//音频状态改变
}
public void onVideoStatusDidChange(String userid, boolean isAllowVideo, boolean isSelf) {
//视频状态改变
}
};
方法 | 注释 |
---|---|
public void onMediaCallModeDidChange(LiveStreamPlayMode.MODE mode) | 连麦模式切换 |
ErrorCode | 注释 |
---|---|
ErrorCode.ROOM_SETTING_CHANGE | 单人连麦切换多人连麦抛错 |
ErrorCode.STREAM_ERROR | 连麦视频流错误 |
ErrorCode.ROOM_SETTING_CHANGE
必须重新登录,是ErrorCode.STREAM_ERROR
时如果需要重新发起连麦,必须要重新登录。