feat:升级TRTC版本(abi开放x86)

This commit is contained in:
Max
2023-12-22 16:24:20 +08:00
parent e55b4d7348
commit a939c29e3e
4 changed files with 223 additions and 214 deletions

View File

@@ -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
} }
} }

View File

@@ -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'

View File

@@ -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,7 +942,8 @@ 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.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC); trtcCloud.getDeviceManager().setSystemVolumeType(TXDeviceManager.TXSystemVolumeType.TXSystemVolumeTypeMedia);
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_DEFAULT);
} }
} else if (role == CLIENT_ROLE_AUDIENCE) { } else if (role == CLIENT_ROLE_AUDIENCE) {
userRole = TRTCRoleAudience; userRole = TRTCRoleAudience;
@@ -1032,7 +1034,8 @@ public class TRTCEngineAdapter extends BaseAdapterImpl {
return -1; return -1;
} }
if (enabled) { if (enabled) {
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC); trtcCloud.getDeviceManager().setSystemVolumeType(TXDeviceManager.TXSystemVolumeType.TXSystemVolumeTypeMedia);
trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_DEFAULT);
} 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

View File

@@ -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(