错题集
更新时间: 2024/08/05 15:02:55
本文汇总了集成 PC 端 SDK 的云信开发者在各个场景实践过程中的易错问题以及对应的解题思路,帮助您避开别人踩过的坑,为您的开发提效加速。
- 通用
- 音频相关
- 视频相关
通用
我将角色从观众切换至连麦者时,为什么会听到主播声音的回声?
问题描述:
用户将角色从观众切换至连麦者时,听到主播的声音两次重复播放。
问题原因:
在您切换角色至连麦者时,实际上是从通过播放器拉流切换至加入 RTC 房间订阅主播的媒体流。听到回声的原因是您在连麦成功后,未释放播放器播放实例相关资源,而直接加入了音视频房间并订阅主播音视频流,致使主播媒体流同时从播放器以及在音视频房间中播放。
解决方案:
网易云信建议您在互动直播中,按如下标准步骤实现连麦者上麦。
-
连麦成功。
-
退出播放,调用 release 方法释放播放器实例和资源。
-
初始化音视频通话 SDK 并进入音视频房间。
-
订阅远端音视频流。
共享屏幕画面卡顿
问题描述:
共享屏幕之后,其他端看到的共享内容帧率比较低,一直会卡顿,特别是在共享视频内容的时候更明显。
问题原因:
设备性能不足,并且编码策略选择了细节模式导致。
解决方案:
网易云信建议您在共享屏幕时,根据内容类型,设置不同的编码策略倾向:
- 在共享文档等静态内容时:NERtcSubStreamContentPrefer使用默认的细节模式编码、帧率推荐为 5 帧。
- 在共享视频等动态内容时:NERtcSubStreamContentPrefer切换成动画模式编码、帧率推荐为(15~30帧)。
为什么主播开启了直播,用户获取到的直播状态仍然是空闲?
问题描述:
主播 A 在自己的 RTC 频道设置了推流任务开启直播,用户 B 拉流观看时显示直播状态为空闲。
问题原因:
主播在互动直播过程中,重复初始化 RTC 房间,并且在每次加入房间的同时都设置了推流任务,而每次设置的推流任务的 taskId 是不一致的,导致推流失败,直播状态显示异常。
解决方案:
建议避免在互动直播过程中多次初始化 RTC 房间。
音频相关
为什么我开启伴音效果后,对方听不清我的人声?
问题描述:
A 和 B 在语聊房内,A 通过伴音播放背景音乐,B 听到 A 的人声变小。若停止播放伴音,则 B 听到 A 的声音恢复正常。
问题原因:
一般是因为设置的伴音音量和人声音量不合理,导致接收端的音频效果较差。
解决方案:
网易云信建议您调用 adjustRecordingSignalVolume 方法设置采集音量为 100,即不对信号做缩放;且调用 setAudioMixingPlaybackVolume 方法设置的混音播放音量不超过 25,否则伴音过程中语音沟通的体验会受到影响。
视频相关
为什么使用客户端开启云端录制后,主讲人的画面会切换?
问题描述:
本来占据主视窗的用户暂停推流后再重新推流,会导致主视窗被其他用户占据。
问题原因:
客户端开启云端录制时,没有通过 kNERtcKeyRecordHostEnabled
参数设置本次视频通话中云端录制的主讲人 uid(主讲人默认会在布局中占据主视窗区域),导致云端录制布局中主视窗的位置不会和对应 uid 绑定,因此会出现主视窗的用户被替换的情况。
解决方案:
在您加入房间前通过 setParameters
方法配置录制参数时,需要设置 kNERtcKeyRecordHostEnabled
参数以规定本端用户是否为主讲人。
为什么拉流端显示的流分辨率和推流布局中设置的分辨率不一致?
问题描述:
推流布局中设置的推流分辨率为 720P,但拉流端接收到的流分辨率只有 480P。
问题原因:
原因一般是您在旁路推流的布局中设置了 single_video_passthrough
参数为 true,表示开启视频透传。透传开启后,若房间中只有一路输入的视频流,则不对视频流进行转码,且不遵循转码布局。因此当您在音视频房间中指定上行的流分辨率是 480P,服务器会直接把分辨率为 480P 的音视频流透传给 CDN 节点,那么拉流端拉到的流分辨率就是 480P。
解决方案:
若您希望拉流端显示的流分辨率与推流布局设置的分辨率一致,请在调用 addLiveStreamTask
方法时,配置 config
属性的 single_video_passthrough
参数为 false 关闭视频透传。