From a939c29e3ecd02ad419a7b518e4b09748ea74f9d Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 22 Dec 2023 16:24:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=8D=87=E7=BA=A7TRTC=E7=89=88=E6=9C=AC?= =?UTF-8?q?=EF=BC=88abi=E5=BC=80=E6=94=BEx86=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- core/build.gradle | 3 +- .../core/manager/trtc/TRTCEngineAdapter.java | 428 +++++++++--------- .../core/manager/trtc/TRtcEngineHandler.java | 2 +- 4 files changed, 223 insertions(+), 214 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5f0488442..47494ab66 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,7 +22,7 @@ android { testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true ndk { - abiFilters 'armeabi-v7a', 'arm64-v8a' + abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' } flavorDimensions 'default' } @@ -31,7 +31,7 @@ android { abi { enable true reset() - include 'armeabi-v7a', 'arm64-v8a' + include 'armeabi-v7a', 'arm64-v8a', 'x86' universalApk true } } diff --git a/core/build.gradle b/core/build.gradle index 6f5e03568..75538fa9d 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -95,7 +95,8 @@ dependencies { api project(':nim_uikit') 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' diff --git a/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRTCEngineAdapter.java b/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRTCEngineAdapter.java index a0b561d9e..aca6a9d02 100644 --- a/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRTCEngineAdapter.java +++ b/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRTCEngineAdapter.java @@ -10,6 +10,7 @@ import android.view.SurfaceView; import com.tencent.liteav.TXLiteAVCode; import com.tencent.liteav.audio.TXAudioEffectManager; +import com.tencent.liteav.device.TXDeviceManager; import com.tencent.rtmp.TXLiveConstants; import com.tencent.rtmp.TXLivePlayer; import com.tencent.rtmp.ui.TXCloudVideoView; @@ -713,207 +714,207 @@ public class TRTCEngineAdapter extends BaseAdapterImpl { return TRTCCloud.getSDKVersion(); } - public static String getErrorDescription(int errorCode) { - String errorInfo = "no error"; - switch (errorCode) { - case TXLiteAVCode.ERR_NULL: - errorInfo = "no error"; - break; - case TXLiteAVCode.ERR_ROOM_ENTER_FAIL: - errorInfo = "进入房间失败"; - break; - case TXLiteAVCode.ERR_ENTER_ROOM_PARAM_NULL: - errorInfo = "进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param"; - break; - case TXLiteAVCode.ERR_SDK_APPID_INVALID: - errorInfo = "进房参数 sdkAppId 错误"; - break; - case TXLiteAVCode.ERR_ROOM_ID_INVALID: - errorInfo = "进房参数 roomId 错误"; - break; - case TXLiteAVCode.ERR_USER_ID_INVALID: - errorInfo = "进房参数 userID 不正确"; - break; - case TXLiteAVCode.ERR_USER_SIG_INVALID: - errorInfo = "进房参数 userSig 不正确"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT: - errorInfo = "请求进房超时,请检查网络"; - break; - case TXLiteAVCode.ERR_SERVER_INFO_SERVICE_SUSPENDED: - errorInfo = "服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT: - errorInfo = "请求退房超时"; - break; - case TXLiteAVCode.ERR_CAMERA_START_FAIL: - errorInfo = "打开摄像头失败"; - break; - case TXLiteAVCode.ERR_CAMERA_NOT_AUTHORIZED: - errorInfo = "摄像头设备未授权"; - break; - case TXLiteAVCode.ERR_CAMERA_SET_PARAM_FAIL: - errorInfo = "摄像头参数设置出错"; - break; - case TXLiteAVCode.ERR_CAMERA_OCCUPY: - errorInfo = "摄像头正在被占用中"; - break; - case TXLiteAVCode.ERR_MIC_START_FAIL: - errorInfo = "打开麦克风失败"; - break; - case TXLiteAVCode.ERR_MIC_NOT_AUTHORIZED: - errorInfo = "麦克风设备未授权"; - break; - case TXLiteAVCode.ERR_MIC_SET_PARAM_FAIL: - errorInfo = "麦克风设置参数失败"; - break; - case TXLiteAVCode.ERR_MIC_OCCUPY: - errorInfo = "麦克风正在被占用中"; - break; - case TXLiteAVCode.ERR_MIC_STOP_FAIL: - errorInfo = "停止麦克风失败"; - break; - case TXLiteAVCode.ERR_SPEAKER_START_FAIL: - errorInfo = "打开扬声器失败"; - break; - case TXLiteAVCode.ERR_SPEAKER_SET_PARAM_FAIL: - errorInfo = "扬声器设置参数失败"; - break; - case TXLiteAVCode.ERR_SPEAKER_STOP_FAIL: - errorInfo = "停止扬声器失败"; - break; - case TXLiteAVCode.ERR_SCREEN_CAPTURE_START_FAIL: - errorInfo = "开始录屏失败"; - break; - case TXLiteAVCode.ERR_SCREEN_CAPTURE_UNSURPORT: - errorInfo = "录屏失败"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO: - errorInfo = "没有权限上行辅路"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO: - errorInfo = "其他用户正在上行辅路"; - break; - case TXLiteAVCode.ERR_VIDEO_ENCODE_FAIL: - errorInfo = "视频帧编码失败"; - break; - case TXLiteAVCode.ERR_UNSUPPORTED_RESOLUTION: - errorInfo = "不支持的视频分辨率"; - break; - case TXLiteAVCode.ERR_AUDIO_ENCODE_FAIL: - errorInfo = "音频帧编码失败"; - break; - case TXLiteAVCode.ERR_UNSUPPORTED_SAMPLERATE: - errorInfo = "不支持的音频采样率"; - break; - case TXLiteAVCode.ERR_PIXEL_FORMAT_UNSUPPORTED: - errorInfo = "设置的 pixel format 不支持"; - break; - case TXLiteAVCode.ERR_BUFFER_TYPE_UNSUPPORTED: - errorInfo = "设置的 buffer type 不支持"; - break; - case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT: - errorInfo = "旁路转推请求超时"; - break; - case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT: - errorInfo = "云端混流请求超时"; - break; - case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_SERVER_FAILED: - errorInfo = "云端混流回包异常"; - break; - case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED: - errorInfo = "旁路转推回包异常"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT: - errorInfo = "开始向腾讯云的直播 CDN 推流信令超时"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_ERROR: - errorInfo = "开始向腾讯云的直播 CDN 推流信令异常"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT: - errorInfo = "停止向腾讯云的直播 CDN 推流信令超时"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR: - errorInfo = "停止向腾讯云的直播 CDN 推流信令异常"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT: - errorInfo = "请求连麦超时"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT: - errorInfo = "请求退出连麦超时"; - break; - case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM: - errorInfo = "无效参数"; - break; - case TXLiteAVCode.ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE: - errorInfo = "当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT: - errorInfo = "不支持跨房间连麦"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM: - errorInfo = "达到跨房间连麦上限"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES: - errorInfo = "跨房间连麦重试次数耗尽"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT: - errorInfo = "跨房间连麦请求超时"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ: - errorInfo = "跨房间连麦请求格式错误"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_SIG: - errorInfo = "跨房间连麦无签名"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG: - errorInfo = "跨房间连麦签名解密失败"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_KEY: - errorInfo = "未找到跨房间连麦签名解密密钥"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG: - errorInfo = "跨房间连麦签名解析错误"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME: - errorInfo = "跨房间连麦签名时间戳错误"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID: - errorInfo = "跨房间连麦签名不匹配"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED: - errorInfo = "本房间无连麦"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED: - errorInfo = "本用户未发起连麦"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_FAILED: - errorInfo = "跨房间连麦失败"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED: - errorInfo = "取消跨房间连麦失败"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST: - errorInfo = "被连麦房间不存在"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM: - errorInfo = "被连麦房间达到连麦上限"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST: - errorInfo = "被连麦用户不存在"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED: - errorInfo = "被连麦用户已被删除"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL: - errorInfo = "被连麦用户达到资源上限"; - break; - case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ: - errorInfo = "连麦请求序号错乱"; - break; - } - return errorInfo; - } +// public static String getErrorDescription(int errorCode) { +// String errorInfo = "no error"; +// switch (errorCode) { +// case TXLiteAVCode.ERR_NULL: +// errorInfo = "no error"; +// break; +// case TXLiteAVCode.ERR_ROOM_ENTER_FAIL: +// errorInfo = "进入房间失败"; +// break; +// case TXLiteAVCode.ERR_ENTER_ROOM_PARAM_NULL: +// errorInfo = "进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param"; +// break; +// case TXLiteAVCode.ERR_SDK_APPID_INVALID: +// errorInfo = "进房参数 sdkAppId 错误"; +// break; +// case TXLiteAVCode.ERR_ROOM_ID_INVALID: +// errorInfo = "进房参数 roomId 错误"; +// break; +// case TXLiteAVCode.ERR_USER_ID_INVALID: +// errorInfo = "进房参数 userID 不正确"; +// break; +// case TXLiteAVCode.ERR_USER_SIG_INVALID: +// errorInfo = "进房参数 userSig 不正确"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT: +// errorInfo = "请求进房超时,请检查网络"; +// break; +// case TXLiteAVCode.ERR_SERVER_INFO_SERVICE_SUSPENDED: +// errorInfo = "服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT: +// errorInfo = "请求退房超时"; +// break; +// case TXLiteAVCode.ERR_CAMERA_START_FAIL: +// errorInfo = "打开摄像头失败"; +// break; +// case TXLiteAVCode.ERR_CAMERA_NOT_AUTHORIZED: +// errorInfo = "摄像头设备未授权"; +// break; +// case TXLiteAVCode.ERR_CAMERA_SET_PARAM_FAIL: +// errorInfo = "摄像头参数设置出错"; +// break; +// case TXLiteAVCode.ERR_CAMERA_OCCUPY: +// errorInfo = "摄像头正在被占用中"; +// break; +// case TXLiteAVCode.ERR_MIC_START_FAIL: +// errorInfo = "打开麦克风失败"; +// break; +// case TXLiteAVCode.ERR_MIC_NOT_AUTHORIZED: +// errorInfo = "麦克风设备未授权"; +// break; +// case TXLiteAVCode.ERR_MIC_SET_PARAM_FAIL: +// errorInfo = "麦克风设置参数失败"; +// break; +// case TXLiteAVCode.ERR_MIC_OCCUPY: +// errorInfo = "麦克风正在被占用中"; +// break; +// case TXLiteAVCode.ERR_MIC_STOP_FAIL: +// errorInfo = "停止麦克风失败"; +// break; +// case TXLiteAVCode.ERR_SPEAKER_START_FAIL: +// errorInfo = "打开扬声器失败"; +// break; +// case TXLiteAVCode.ERR_SPEAKER_SET_PARAM_FAIL: +// errorInfo = "扬声器设置参数失败"; +// break; +// case TXLiteAVCode.ERR_SPEAKER_STOP_FAIL: +// errorInfo = "停止扬声器失败"; +// break; +// case TXLiteAVCode.ERR_SCREEN_CAPTURE_START_FAIL: +// errorInfo = "开始录屏失败"; +// break; +// case TXLiteAVCode.ERR_SCREEN_CAPTURE_UNSURPORT: +// errorInfo = "录屏失败"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO: +// errorInfo = "没有权限上行辅路"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO: +// errorInfo = "其他用户正在上行辅路"; +// break; +// case TXLiteAVCode.ERR_VIDEO_ENCODE_FAIL: +// errorInfo = "视频帧编码失败"; +// break; +// case TXLiteAVCode.ERR_UNSUPPORTED_RESOLUTION: +// errorInfo = "不支持的视频分辨率"; +// break; +// case TXLiteAVCode.ERR_AUDIO_ENCODE_FAIL: +// errorInfo = "音频帧编码失败"; +// break; +// case TXLiteAVCode.ERR_UNSUPPORTED_SAMPLERATE: +// errorInfo = "不支持的音频采样率"; +// break; +// case TXLiteAVCode.ERR_PIXEL_FORMAT_UNSUPPORTED: +// errorInfo = "设置的 pixel format 不支持"; +// break; +// case TXLiteAVCode.ERR_BUFFER_TYPE_UNSUPPORTED: +// errorInfo = "设置的 buffer type 不支持"; +// break; +// case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT: +// errorInfo = "旁路转推请求超时"; +// break; +// case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT: +// errorInfo = "云端混流请求超时"; +// break; +// case TXLiteAVCode.ERR_PUBLISH_CDN_STREAM_SERVER_FAILED: +// errorInfo = "云端混流回包异常"; +// break; +// case TXLiteAVCode.ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED: +// errorInfo = "旁路转推回包异常"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT: +// errorInfo = "开始向腾讯云的直播 CDN 推流信令超时"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_START_PUBLISHING_ERROR: +// errorInfo = "开始向腾讯云的直播 CDN 推流信令异常"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT: +// errorInfo = "停止向腾讯云的直播 CDN 推流信令超时"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR: +// errorInfo = "停止向腾讯云的直播 CDN 推流信令异常"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT: +// errorInfo = "请求连麦超时"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT: +// errorInfo = "请求退出连麦超时"; +// break; +// case TXLiteAVCode.ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM: +// errorInfo = "无效参数"; +// break; +// case TXLiteAVCode.ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE: +// errorInfo = "当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT: +// errorInfo = "不支持跨房间连麦"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM: +// errorInfo = "达到跨房间连麦上限"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES: +// errorInfo = "跨房间连麦重试次数耗尽"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT: +// errorInfo = "跨房间连麦请求超时"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_REQ: +// errorInfo = "跨房间连麦请求格式错误"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_SIG: +// errorInfo = "跨房间连麦无签名"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG: +// errorInfo = "跨房间连麦签名解密失败"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NO_KEY: +// errorInfo = "未找到跨房间连麦签名解密密钥"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG: +// errorInfo = "跨房间连麦签名解析错误"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME: +// errorInfo = "跨房间连麦签名时间戳错误"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID: +// errorInfo = "跨房间连麦签名不匹配"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED: +// errorInfo = "本房间无连麦"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED: +// errorInfo = "本用户未发起连麦"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_FAILED: +// errorInfo = "跨房间连麦失败"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED: +// errorInfo = "取消跨房间连麦失败"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST: +// errorInfo = "被连麦房间不存在"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM: +// errorInfo = "被连麦房间达到连麦上限"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST: +// errorInfo = "被连麦用户不存在"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED: +// errorInfo = "被连麦用户已被删除"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL: +// errorInfo = "被连麦用户达到资源上限"; +// break; +// case TXLiteAVCode.ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ: +// errorInfo = "连麦请求序号错乱"; +// break; +// } +// return errorInfo; +// } public void unInit() { if (mLivePlayer != null) { @@ -941,7 +942,8 @@ public class TRTCEngineAdapter extends BaseAdapterImpl { if (role == CLIENT_ROLE_BROADCASTER) { userRole = TRTCRoleAnchor; 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) { userRole = TRTCRoleAudience; @@ -1032,7 +1034,8 @@ public class TRTCEngineAdapter extends BaseAdapterImpl { return -1; } if (enabled) { - trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_MUSIC); + trtcCloud.getDeviceManager().setSystemVolumeType(TXDeviceManager.TXSystemVolumeType.TXSystemVolumeTypeMedia); + trtcCloud.startLocalAudio(TRTCCloudDef.TRTC_AUDIO_QUALITY_DEFAULT); } else { trtcCloud.stopLocalAudio(); } @@ -1930,7 +1933,7 @@ public class TRTCEngineAdapter extends BaseAdapterImpl { TRTCCloudListener.TRTCAudioFrameListener listener = new TRTCCloudListener.TRTCAudioFrameListener() { @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) { } + + @Override + public void onVoiceEarMonitorAudioFrame(TRTCCloudDef.TRTCAudioFrame trtcAudioFrame) { + + } }; trtcCloud.setAudioFrameListener(listener); return 0; @@ -2420,12 +2428,12 @@ public class TRTCEngineAdapter extends BaseAdapterImpl { @Override public void startCdnPlayerWithUrl(String url, TXCloudVideoView view) { - if (mLivePlayer != null) { - mLivePlayer.setPlayerView(view); - mLivePlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT); - mLivePlayer.setRenderMode(TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION); - mLivePlayer.startPlay(url, PLAY_TYPE_LIVE_FLV); - } +// if (mLivePlayer != null) { +// mLivePlayer.setPlayerView(view); +// mLivePlayer.setRenderRotation(TXLiveConstants.RENDER_ROTATION_PORTRAIT); +// mLivePlayer.setRenderMode(TXLiveConstants.RENDER_MODE_ADJUST_RESOLUTION); +// mLivePlayer.startPlay(url, PLAY_TYPE_LIVE_FLV); +// } } @Override diff --git a/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRtcEngineHandler.java b/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRtcEngineHandler.java index 506e778e2..74c9b4bb5 100644 --- a/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRtcEngineHandler.java +++ b/core/src/diff_src_erban/java/com/nnbc123/core/manager/trtc/TRtcEngineHandler.java @@ -77,7 +77,7 @@ public class TRtcEngineHandler extends Handler { // 如果麦上没有这个人,要把他静音 AudioEngineManager.get().setRemoteMute(uid, true); } - if (micPosition == Integer.MIN_VALUE) continue; + if (micPosition == Integer.MIN_VALUE || speaker.volume == 0) continue; rtcEngineManager.speakQueueMembersPosition.add(micPosition); } IMNetEaseManager.get().getChatRoomEventObservable().onNext(