Merge branch 'develop' into test/2.0.0
This commit is contained in:
@@ -22,7 +22,7 @@ android {
|
|||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
ndk {
|
ndk {
|
||||||
abiFilters 'armeabi-v7a', 'arm64-v8a'
|
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
|
||||||
}
|
}
|
||||||
flavorDimensions 'default'
|
flavorDimensions 'default'
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ android {
|
|||||||
abi {
|
abi {
|
||||||
enable true
|
enable true
|
||||||
reset()
|
reset()
|
||||||
include 'armeabi-v7a', 'arm64-v8a'
|
include 'armeabi-v7a', 'arm64-v8a', 'x86'
|
||||||
universalApk true
|
universalApk true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -95,7 +95,8 @@ dependencies {
|
|||||||
|
|
||||||
api project(':nim_uikit')
|
api project(':nim_uikit')
|
||||||
api project(':library')
|
api project(':library')
|
||||||
api project(':trtc_release')
|
// api project(':trtc_release')
|
||||||
|
api 'com.tencent.liteav:LiteAVSDK_TRTC:11.4.0.13189'
|
||||||
|
|
||||||
api 'com.alipay.sdk:alipaysdk-android:+@aar'
|
api 'com.alipay.sdk:alipaysdk-android:+@aar'
|
||||||
|
|
||||||
|
@@ -8,6 +8,8 @@ import com.nnbc123.core.manager.zego.ZegoEngineManager;
|
|||||||
import com.nnbc123.core.room.bean.RoomAudioSdkType;
|
import com.nnbc123.core.room.bean.RoomAudioSdkType;
|
||||||
import com.nnbc123.core.room.bean.RoomInfo;
|
import com.nnbc123.core.room.bean.RoomInfo;
|
||||||
import com.nnbc123.core.utils.LogUtils;
|
import com.nnbc123.core.utils.LogUtils;
|
||||||
|
import com.orhanobut.logger.Logger;
|
||||||
|
import com.tencent.mm.opensdk.utils.Log;
|
||||||
|
|
||||||
import io.agora.rtc2.Constants;
|
import io.agora.rtc2.Constants;
|
||||||
|
|
||||||
@@ -29,6 +31,7 @@ public class AudioEngineManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void initRtcEngine(EngineType engineType) {
|
public void initRtcEngine(EngineType engineType) {
|
||||||
|
Log.d(TAG,"initRtcEngine() engineType:" + engineType);
|
||||||
switch (engineType) {
|
switch (engineType) {
|
||||||
case TYPE_ZEGO:
|
case TYPE_ZEGO:
|
||||||
this.iAudioEngine = ZegoEngineManager.get();
|
this.iAudioEngine = ZegoEngineManager.get();
|
||||||
@@ -166,7 +169,10 @@ public class AudioEngineManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setRemoteMute(long uid, boolean mute) {
|
public void setRemoteMute(long uid, boolean mute) {
|
||||||
|
Logger.t(TAG).d("setRemoteMute uid:%s mute:%s", uid, mute);
|
||||||
if (this.iAudioEngine == null) return;
|
if (this.iAudioEngine == null) return;
|
||||||
|
if (isRemoteMute()) return;
|
||||||
|
//调用这个方法会影导致muteAllRemoteAudioStreams(true)失效!
|
||||||
this.iAudioEngine.setRemoteMute(uid, mute);
|
this.iAudioEngine.setRemoteMute(uid, mute);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -10,6 +10,7 @@ import android.view.SurfaceView;
|
|||||||
|
|
||||||
import com.tencent.liteav.TXLiteAVCode;
|
import com.tencent.liteav.TXLiteAVCode;
|
||||||
import com.tencent.liteav.audio.TXAudioEffectManager;
|
import com.tencent.liteav.audio.TXAudioEffectManager;
|
||||||
|
import com.tencent.liteav.device.TXDeviceManager;
|
||||||
import com.tencent.rtmp.TXLiveConstants;
|
import com.tencent.rtmp.TXLiveConstants;
|
||||||
import com.tencent.rtmp.TXLivePlayer;
|
import com.tencent.rtmp.TXLivePlayer;
|
||||||
import com.tencent.rtmp.ui.TXCloudVideoView;
|
import com.tencent.rtmp.ui.TXCloudVideoView;
|
||||||
@@ -713,207 +714,207 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
return TRTCCloud.getSDKVersion();
|
return TRTCCloud.getSDKVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getErrorDescription(int errorCode) {
|
// public static String getErrorDescription(int errorCode) {
|
||||||
String errorInfo = "no error";
|
// String errorInfo = "no error";
|
||||||
switch (errorCode) {
|
// switch (errorCode) {
|
||||||
case TXLiteAVCode.ERR_NULL:
|
// case TXLiteAVCode.ERR_NULL:
|
||||||
errorInfo = "no error";
|
// errorInfo = "no error";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_ENTER_FAIL:
|
// case TXLiteAVCode.ERR_ROOM_ENTER_FAIL:
|
||||||
errorInfo = "进入房间失败";
|
// errorInfo = "进入房间失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ENTER_ROOM_PARAM_NULL:
|
// case TXLiteAVCode.ERR_ENTER_ROOM_PARAM_NULL:
|
||||||
errorInfo = "进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param";
|
// errorInfo = "进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SDK_APPID_INVALID:
|
// case TXLiteAVCode.ERR_SDK_APPID_INVALID:
|
||||||
errorInfo = "进房参数 sdkAppId 错误";
|
// errorInfo = "进房参数 sdkAppId 错误";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_ID_INVALID:
|
// case TXLiteAVCode.ERR_ROOM_ID_INVALID:
|
||||||
errorInfo = "进房参数 roomId 错误";
|
// errorInfo = "进房参数 roomId 错误";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_USER_ID_INVALID:
|
// case TXLiteAVCode.ERR_USER_ID_INVALID:
|
||||||
errorInfo = "进房参数 userID 不正确";
|
// errorInfo = "进房参数 userID 不正确";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_USER_SIG_INVALID:
|
// case TXLiteAVCode.ERR_USER_SIG_INVALID:
|
||||||
errorInfo = "进房参数 userSig 不正确";
|
// errorInfo = "进房参数 userSig 不正确";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT:
|
||||||
errorInfo = "请求进房超时,请检查网络";
|
// errorInfo = "请求进房超时,请检查网络";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_INFO_SERVICE_SUSPENDED:
|
// case TXLiteAVCode.ERR_SERVER_INFO_SERVICE_SUSPENDED:
|
||||||
errorInfo = "服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费";
|
// errorInfo = "服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT:
|
||||||
errorInfo = "请求退房超时";
|
// errorInfo = "请求退房超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CAMERA_START_FAIL:
|
// case TXLiteAVCode.ERR_CAMERA_START_FAIL:
|
||||||
errorInfo = "打开摄像头失败";
|
// errorInfo = "打开摄像头失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CAMERA_NOT_AUTHORIZED:
|
// case TXLiteAVCode.ERR_CAMERA_NOT_AUTHORIZED:
|
||||||
errorInfo = "摄像头设备未授权";
|
// errorInfo = "摄像头设备未授权";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CAMERA_SET_PARAM_FAIL:
|
// case TXLiteAVCode.ERR_CAMERA_SET_PARAM_FAIL:
|
||||||
errorInfo = "摄像头参数设置出错";
|
// errorInfo = "摄像头参数设置出错";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CAMERA_OCCUPY:
|
// case TXLiteAVCode.ERR_CAMERA_OCCUPY:
|
||||||
errorInfo = "摄像头正在被占用中";
|
// errorInfo = "摄像头正在被占用中";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_MIC_START_FAIL:
|
// case TXLiteAVCode.ERR_MIC_START_FAIL:
|
||||||
errorInfo = "打开麦克风失败";
|
// errorInfo = "打开麦克风失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_MIC_NOT_AUTHORIZED:
|
// case TXLiteAVCode.ERR_MIC_NOT_AUTHORIZED:
|
||||||
errorInfo = "麦克风设备未授权";
|
// errorInfo = "麦克风设备未授权";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_MIC_SET_PARAM_FAIL:
|
// case TXLiteAVCode.ERR_MIC_SET_PARAM_FAIL:
|
||||||
errorInfo = "麦克风设置参数失败";
|
// errorInfo = "麦克风设置参数失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_MIC_OCCUPY:
|
// case TXLiteAVCode.ERR_MIC_OCCUPY:
|
||||||
errorInfo = "麦克风正在被占用中";
|
// errorInfo = "麦克风正在被占用中";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_MIC_STOP_FAIL:
|
// case TXLiteAVCode.ERR_MIC_STOP_FAIL:
|
||||||
errorInfo = "停止麦克风失败";
|
// errorInfo = "停止麦克风失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SPEAKER_START_FAIL:
|
// case TXLiteAVCode.ERR_SPEAKER_START_FAIL:
|
||||||
errorInfo = "打开扬声器失败";
|
// errorInfo = "打开扬声器失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SPEAKER_SET_PARAM_FAIL:
|
// case TXLiteAVCode.ERR_SPEAKER_SET_PARAM_FAIL:
|
||||||
errorInfo = "扬声器设置参数失败";
|
// errorInfo = "扬声器设置参数失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SPEAKER_STOP_FAIL:
|
// case TXLiteAVCode.ERR_SPEAKER_STOP_FAIL:
|
||||||
errorInfo = "停止扬声器失败";
|
// errorInfo = "停止扬声器失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SCREEN_CAPTURE_START_FAIL:
|
// case TXLiteAVCode.ERR_SCREEN_CAPTURE_START_FAIL:
|
||||||
errorInfo = "开始录屏失败";
|
// errorInfo = "开始录屏失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SCREEN_CAPTURE_UNSURPORT:
|
// case TXLiteAVCode.ERR_SCREEN_CAPTURE_UNSURPORT:
|
||||||
errorInfo = "录屏失败";
|
// errorInfo = "录屏失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO:
|
||||||
errorInfo = "没有权限上行辅路";
|
// errorInfo = "没有权限上行辅路";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO:
|
||||||
errorInfo = "其他用户正在上行辅路";
|
// errorInfo = "其他用户正在上行辅路";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_VIDEO_ENCODE_FAIL:
|
// case TXLiteAVCode.ERR_VIDEO_ENCODE_FAIL:
|
||||||
errorInfo = "视频帧编码失败";
|
// errorInfo = "视频帧编码失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_UNSUPPORTED_RESOLUTION:
|
// case TXLiteAVCode.ERR_UNSUPPORTED_RESOLUTION:
|
||||||
errorInfo = "不支持的视频分辨率";
|
// errorInfo = "不支持的视频分辨率";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_AUDIO_ENCODE_FAIL:
|
// case TXLiteAVCode.ERR_AUDIO_ENCODE_FAIL:
|
||||||
errorInfo = "音频帧编码失败";
|
// errorInfo = "音频帧编码失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_UNSUPPORTED_SAMPLERATE:
|
// case TXLiteAVCode.ERR_UNSUPPORTED_SAMPLERATE:
|
||||||
errorInfo = "不支持的音频采样率";
|
// errorInfo = "不支持的音频采样率";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_PIXEL_FORMAT_UNSUPPORTED:
|
// case TXLiteAVCode.ERR_PIXEL_FORMAT_UNSUPPORTED:
|
||||||
errorInfo = "设置的 pixel format 不支持";
|
// errorInfo = "设置的 pixel format 不支持";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_BUFFER_TYPE_UNSUPPORTED:
|
// case TXLiteAVCode.ERR_BUFFER_TYPE_UNSUPPORTED:
|
||||||
errorInfo = "设置的 buffer type 不支持";
|
// errorInfo = "设置的 buffer type 不支持";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT:
|
// case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT:
|
||||||
errorInfo = "旁路转推请求超时";
|
// errorInfo = "旁路转推请求超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT:
|
// case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT:
|
||||||
errorInfo = "云端混流请求超时";
|
// errorInfo = "云端混流请求超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_SERVER_FAILED:
|
// case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_SERVER_FAILED:
|
||||||
errorInfo = "云端混流回包异常";
|
// errorInfo = "云端混流回包异常";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED:
|
// case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED:
|
||||||
errorInfo = "旁路转推回包异常";
|
// errorInfo = "旁路转推回包异常";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT:
|
||||||
errorInfo = "开始向腾讯云的直播 CDN 推流信令超时";
|
// errorInfo = "开始向腾讯云的直播 CDN 推流信令超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_ERROR:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_ERROR:
|
||||||
errorInfo = "开始向腾讯云的直播 CDN 推流信令异常";
|
// errorInfo = "开始向腾讯云的直播 CDN 推流信令异常";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT:
|
||||||
errorInfo = "停止向腾讯云的直播 CDN 推流信令超时";
|
// errorInfo = "停止向腾讯云的直播 CDN 推流信令超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR:
|
||||||
errorInfo = "停止向腾讯云的直播 CDN 推流信令异常";
|
// errorInfo = "停止向腾讯云的直播 CDN 推流信令异常";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT:
|
||||||
errorInfo = "请求连麦超时";
|
// errorInfo = "请求连麦超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT:
|
||||||
errorInfo = "请求退出连麦超时";
|
// errorInfo = "请求退出连麦超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM:
|
// case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM:
|
||||||
errorInfo = "无效参数";
|
// errorInfo = "无效参数";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE:
|
// case TXLiteAVCode.ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE:
|
||||||
errorInfo = "当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播";
|
// errorInfo = "当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT:
|
||||||
errorInfo = "不支持跨房间连麦";
|
// errorInfo = "不支持跨房间连麦";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM:
|
||||||
errorInfo = "达到跨房间连麦上限";
|
// errorInfo = "达到跨房间连麦上限";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES:
|
||||||
errorInfo = "跨房间连麦重试次数耗尽";
|
// errorInfo = "跨房间连麦重试次数耗尽";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT:
|
||||||
errorInfo = "跨房间连麦请求超时";
|
// errorInfo = "跨房间连麦请求超时";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ:
|
||||||
errorInfo = "跨房间连麦请求格式错误";
|
// errorInfo = "跨房间连麦请求格式错误";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_SIG:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_SIG:
|
||||||
errorInfo = "跨房间连麦无签名";
|
// errorInfo = "跨房间连麦无签名";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG:
|
||||||
errorInfo = "跨房间连麦签名解密失败";
|
// errorInfo = "跨房间连麦签名解密失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_KEY:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_KEY:
|
||||||
errorInfo = "未找到跨房间连麦签名解密密钥";
|
// errorInfo = "未找到跨房间连麦签名解密密钥";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG:
|
||||||
errorInfo = "跨房间连麦签名解析错误";
|
// errorInfo = "跨房间连麦签名解析错误";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME:
|
||||||
errorInfo = "跨房间连麦签名时间戳错误";
|
// errorInfo = "跨房间连麦签名时间戳错误";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID:
|
||||||
errorInfo = "跨房间连麦签名不匹配";
|
// errorInfo = "跨房间连麦签名不匹配";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED:
|
||||||
errorInfo = "本房间无连麦";
|
// errorInfo = "本房间无连麦";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED:
|
||||||
errorInfo = "本用户未发起连麦";
|
// errorInfo = "本用户未发起连麦";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_FAILED:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_FAILED:
|
||||||
errorInfo = "跨房间连麦失败";
|
// errorInfo = "跨房间连麦失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED:
|
||||||
errorInfo = "取消跨房间连麦失败";
|
// errorInfo = "取消跨房间连麦失败";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST:
|
||||||
errorInfo = "被连麦房间不存在";
|
// errorInfo = "被连麦房间不存在";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM:
|
||||||
errorInfo = "被连麦房间达到连麦上限";
|
// errorInfo = "被连麦房间达到连麦上限";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST:
|
||||||
errorInfo = "被连麦用户不存在";
|
// errorInfo = "被连麦用户不存在";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED:
|
||||||
errorInfo = "被连麦用户已被删除";
|
// errorInfo = "被连麦用户已被删除";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL:
|
||||||
errorInfo = "被连麦用户达到资源上限";
|
// errorInfo = "被连麦用户达到资源上限";
|
||||||
break;
|
// break;
|
||||||
case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ:
|
// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ:
|
||||||
errorInfo = "连麦请求序号错乱";
|
// errorInfo = "连麦请求序号错乱";
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
return errorInfo;
|
// return errorInfo;
|
||||||
}
|
// }
|
||||||
|
|
||||||
public void unInit() {
|
public void unInit() {
|
||||||
if (mLivePlayer != null) {
|
if (mLivePlayer != null) {
|
||||||
@@ -941,6 +942,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
if (role == CLIENT_ROLE_BROADCASTER) {
|
if (role == CLIENT_ROLE_BROADCASTER) {
|
||||||
userRole = TRTCRoleAnchor;
|
userRole = TRTCRoleAnchor;
|
||||||
if (!TRtcEngineManager.get().isMute) {
|
if (!TRtcEngineManager.get().isMute) {
|
||||||
|
trtcCloud.getDeviceManager().setSystemVolumeType(TXDeviceManager.TXSystemVolumeType.TXSystemVolumeTypeMedia);
|
||||||
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
|
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
|
||||||
}
|
}
|
||||||
} else if (role == CLIENT_ROLE_AUDIENCE) {
|
} else if (role == CLIENT_ROLE_AUDIENCE) {
|
||||||
@@ -1032,6 +1034,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (enabled) {
|
if (enabled) {
|
||||||
|
trtcCloud.getDeviceManager().setSystemVolumeType(TXDeviceManager.TXSystemVolumeType.TXSystemVolumeTypeMedia);
|
||||||
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
|
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC);
|
||||||
} else {
|
} else {
|
||||||
trtcCloud.stopLocalAudio();
|
trtcCloud.stopLocalAudio();
|
||||||
@@ -1930,7 +1933,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
TRTCCloudListener.TRTCAudioFrameListener listener = new TRTCCloudListener.TRTCAudioFrameListener() {
|
TRTCCloudListener.TRTCAudioFrameListener listener = new TRTCCloudListener.TRTCAudioFrameListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCapturedRawAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) {
|
public void onCapturedAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1953,6 +1956,11 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
public void onMixedAllAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) {
|
public void onMixedAllAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onVoiceEarMonitorAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) {
|
||||||
|
|
||||||
|
}
|
||||||
};
|
};
|
||||||
trtcCloud.setAudioFrameListener(listener);
|
trtcCloud.setAudioFrameListener(listener);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -2420,12 +2428,12 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startCdnPlayerWithUrl(String url, TXCloudVideoView view) {
|
public void startCdnPlayerWithUrl(String url, TXCloudVideoView view) {
|
||||||
if (mLivePlayer != null) {
|
// if (mLivePlayer != null) {
|
||||||
mLivePlayer.setPlayerView(view);
|
// mLivePlayer.setPlayerView(view);
|
||||||
mLivePlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT);
|
// mLivePlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT);
|
||||||
mLivePlayer.setRenderMode(TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION);
|
// mLivePlayer.setRenderMode(TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION);
|
||||||
mLivePlayer.startPlay(url, PLAY_TYPE_LIVE_FLV);
|
// mLivePlayer.startPlay(url, PLAY_TYPE_LIVE_FLV);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -77,7 +77,7 @@ public class TRtcEngineHandler extends Handler {
|
|||||||
// 如果麦上没有这个人,要把他静音
|
// 如果麦上没有这个人,要把他静音
|
||||||
AudioEngineManager.get().setRemoteMute(uid, true);
|
AudioEngineManager.get().setRemoteMute(uid, true);
|
||||||
}
|
}
|
||||||
if (micPosition == Integer.MIN_VALUE) continue;
|
if (micPosition == Integer.MIN_VALUE || speaker.volume == 0) continue;
|
||||||
rtcEngineManager.speakQueueMembersPosition.add(micPosition);
|
rtcEngineManager.speakQueueMembersPosition.add(micPosition);
|
||||||
}
|
}
|
||||||
IMNetEaseManager.get().getChatRoomEventObservable().onNext(
|
IMNetEaseManager.get().getChatRoomEventObservable().onNext(
|
||||||
|
@@ -61,7 +61,7 @@ public class TRtcEngineManager extends BaseEngine {
|
|||||||
//设置频道模式为直播
|
//设置频道模式为直播
|
||||||
mRtcEngine.disableVideo();
|
mRtcEngine.disableVideo();
|
||||||
mRtcEngine.setChannelProfile(Constants.CHANNEL_PROFILE_LIVE_BROADCASTING);
|
mRtcEngine.setChannelProfile(Constants.CHANNEL_PROFILE_LIVE_BROADCASTING);
|
||||||
mRtcEngine.setAudioProfile(AUDIO_PROFILE_MUSIC_STANDARD, AUDIO_SCENARIO_GAME_STREAMING);
|
mRtcEngine.setAudioProfile(3, AUDIO_SCENARIO_GAME_STREAMING);
|
||||||
mRtcEngine.enableAudioVolumeIndication(600, 3, false);
|
mRtcEngine.enableAudioVolumeIndication(600, 3, false);
|
||||||
mRtcEngine.setDefaultAudioRoutetoSpeakerphone(true);
|
mRtcEngine.setDefaultAudioRoutetoSpeakerphone(true);
|
||||||
mRtcEngine.setExternalVideoSource(true, false, true);
|
mRtcEngine.setExternalVideoSource(true, false, true);
|
||||||
|
Reference in New Issue
Block a user