NIMSDK-AOS
9.20.10
|
类 | |
class | Key |
可选设置项, 可以获取参数是否支持可设置,以及参数是否能够在通话过程中进行操作 | |
Public 成员函数 | |
AVChatParameters () | |
void | clear () |
RtcParameters | getRawParameters () |
void | setRawParameters (RtcParameters parameters) |
final AVChatParameters | setRequestKeys (Set< Key > keys) |
final AVChatParameters | setRequestKey (Key key) |
final boolean | getBoolean (Key< Boolean > key) |
final int | getInteger (Key< Integer > key) |
final String | getString (Key< String > key) |
final void | setInteger (Key< Integer > key, int value) |
final void | setBoolean (Key< Boolean > key, boolean value) |
final void | setString (Key< String > key, String value) |
final boolean | containsKey (Key key) |
final< T > void | set (Key< T > key, T value) |
final< T > T | get (Key< T > key) |
final void | setFloat (Key< Float > key, float value) |
final float | getFloat (Key< Float > key) |
final void | removeParameters (Key key) |
静态 Public 属性 | |
static final Key< Integer > | KEY_DEVICE_DEFAULT_ROTATION = new Key<>(RtcParameters.KEY_DEVICE_DEFAULT_ROTATION, Integer.class) |
static final Key< Integer > | KEY_DEVICE_ROTATION_FIXED_OFFSET = new Key<>(RtcParameters.KEY_DEVICE_ROTATION_FIXED_OFFSET, Integer.class) |
static final Key< String > | KEY_VIDEO_ENCODER_MODE = new Key<>(RtcParameters.KEY_VIDEO_ENCODER_MODE, String.class) |
static final Key< String > | KEY_VIDEO_DECODER_MODE = new Key<>(RtcParameters.KEY_VIDEO_DECODER_MODE, String.class) |
static final Key< Boolean > | KEY_VIDEO_SUPPORTED_HW_ENCODER = new Key<>(RtcParameters.KEY_VIDEO_SUPPORTED_HW_ENCODER, Boolean.class) |
static final Key< Boolean > | KEY_VIDEO_SUPPORTED_HW_DECODER = new Key<>(RtcParameters.KEY_VIDEO_SUPPORTED_HW_DECODER, Boolean.class) |
static final Key< String > | KEY_AUDIO_EFFECT_NOISE_SUPPRESSOR = new Key<>(RtcParameters.KEY_AUDIO_EFFECT_NOISE_SUPPRESSOR, String.class) |
static final Key< String > | KEY_AUDIO_EFFECT_AUTOMATIC_GAIN_CONTROL = new Key<>(RtcParameters.KEY_AUDIO_EFFECT_AUTOMATIC_GAIN_CONTROL, String.class) |
static final Key< String > | KEY_AUDIO_EFFECT_ACOUSTIC_ECHO_CANCELER = new Key<>(RtcParameters.KEY_AUDIO_EFFECT_ACOUSTIC_ECHO_CANCELER, String.class) |
static final Key< Boolean > | KEY_AUDIO_CALL_PROXIMITY = new Key<>(RtcParameters.KEY_AUDIO_CALL_PROXIMITY, Boolean.class) |
static final Key< Integer > | KEY_VIDEO_QUALITY = new Key<>(RtcParameters.KEY_VIDEO_QUALITY, Integer.class) |
static final Key< Integer > | KEY_VIDEO_PREVIEW_QUALITY = new Key<>(RtcParameters.KEY_VIDEO_PREVIEW_QUALITY, Integer.class) |
static final Key< Boolean > | KEY_VIDEO_ROTATE_IN_RENDING = new Key<>(RtcParameters.KEY_VIDEO_ROTATE_IN_RENDING, Boolean.class) |
static final Key< Integer > | KEY_SESSION_MULTI_MODE_USER_ROLE = new Key<>(RtcParameters.KEY_SESSION_MULTI_MODE_USER_ROLE, Integer.class) |
static final Key< Boolean > | KEY_VIDEO_FPS_REPORTED = new Key<>(RtcParameters.KEY_VIDEO_FPS_REPORTED, Boolean.class) |
static final Key< Integer > | KEY_VIDEO_MAX_BITRATE = new Key<>(RtcParameters.KEY_VIDEO_MAX_BITRATE, Integer.class) |
static final Key< Integer > | KEY_VIDEO_FRAME_RATE = new Key<>(RtcParameters.KEY_VIDEO_FRAME_RATE, Integer.class) |
static final Key< Boolean > | KEY_VIDEO_FRAME_FILTER = new Key<>(RtcParameters.KEY_VIDEO_FRAME_FILTER, Boolean.class) |
static final Key< Boolean > | KEY_VIDEO_FRAME_FILTER_NEW = new Key<>(RtcParameters.KEY_VIDEO_FRAME_FILTER_NEW, Boolean.class) |
static final Key< Integer > | KEY_VIDEO_FRAME_FILTER_FORMAT = new Key<>(RtcParameters.KEY_VIDEO_FRAME_FILTER_FORMAT, Integer.class) |
static final Key< Boolean > | KEY_AUDIO_FRAME_FILTER = new Key<>(RtcParameters.KEY_AUDIO_FRAME_FILTER, Boolean.class) |
static final Key< String > | KEY_SESSION_LIVE_URL = new Key<>(RtcParameters.KEY_SESSION_LIVE_URL, String.class) |
static final Key< Boolean > | KEY_AUDIO_REPORT_SPEAKER = new Key<>(RtcParameters.KEY_AUDIO_REPORT_SPEAKER, Boolean.class) |
static final Key< Boolean > | KEY_AUDIO_HIGH_QUALITY = new Key<>(RtcParameters.KEY_AUDIO_HIGH_QUALITY, Boolean.class) |
static final Key< Integer > | KEY_VIDEO_CAPTURE_ORIENTATION = new Key<>(RtcParameters.KEY_VIDEO_CAPTURE_ORIENTATION, Integer.class) |
static final Key< Integer > | KEY_VIDEO_FIXED_CROP_RATIO = new Key<>(RtcParameters.KEY_VIDEO_FIXED_CROP_RATIO, Integer.class) |
static final Key< Boolean > | KEY_VIDEO_LOCAL_PREVIEW_MIRROR = new Key<>(RtcParameters.KEY_VIDEO_LOCAL_PREVIEW_MIRROR, Boolean.class) |
static final Key< Boolean > | KEY_VIDEO_TRANSPORT_MIRROR = new Key<>(RtcParameters.KEY_VIDEO_TRANSPORT_MIRROR, Boolean.class) |
static final Key< Boolean > | KEY_SERVER_AUDIO_RECORD = new Key<>(RtcParameters.KEY_SERVER_AUDIO_RECORD, Boolean.class) |
static final Key< Boolean > | KEY_SERVER_VIDEO_RECORD = new Key<>(RtcParameters.KEY_SERVER_VIDEO_RECORD, Boolean.class) |
static final Key< Integer > | KEY_SERVER_RECORD_MODE = new Key<>(RtcParameters.KEY_SERVER_RECORD_MODE, Integer.class) |
static final Key< Boolean > | KEY_SERVER_RECORD_SPEAKER = new Key<>(RtcParameters.KEY_SERVER_RECORD_SPEAKER, Boolean.class) |
static final Key< Boolean > | KEY_SERVER_LIVE_RECORD = new Key<>(RtcParameters.KEY_SERVER_LIVE_RECORD, Boolean.class) |
static final Key< AVChatLiveCompositingLayout > | KEY_SESSION_LIVE_COMPOSITING_LAYOUT |
static final Key< Boolean > | KEY_SESSION_LIVE_MODE = new Key<>(RtcParameters.KEY_SESSION_LIVE_MODE, Boolean.class) |
static final Key< String > | KEY_COMPATIBILITY_CONFIG_SERVER |
static final Key< String > | KEY_COMPATIBILITY_CONFIG_LOCAL |
static final Key< Boolean > | KEY_AUDIO_EXTERNAL_CAPTURE |
static final Key< Integer > | KEY_AUDIO_PROCESS_DUMP_FLAG_DEBUG |
语音播放采样率设置 更多... | |
static final Key< Boolean > | KEY_PROFILE_TRACE_FLAG_DEBUG |
设置是否打印 kTraceProfile 日志 更多... | |
static final Key< Integer > | KEY_AUDIO_PLAYBACK_DEFAULT_SAMPLE_RATE |
语音播放采样率设置 更多... | |
网络通话可选项
每个参数包含以下几个重要方面:
在文件 AVChatParameters.java 第 71 行定义.
com.netease.nimlib.sdk.avchat.model.AVChatParameters.AVChatParameters | ( | ) |
在文件 AVChatParameters.java 第 990 行定义.
void com.netease.nimlib.sdk.avchat.model.AVChatParameters.clear | ( | ) |
在文件 AVChatParameters.java 第 994 行定义.
final boolean com.netease.nimlib.sdk.avchat.model.AVChatParameters.containsKey | ( | Key | key | ) |
在文件 AVChatParameters.java 第 1057 行定义.
final<T> T com.netease.nimlib.sdk.avchat.model.AVChatParameters.get | ( | Key< T > | key | ) |
在文件 AVChatParameters.java 第 1067 行定义.
final boolean com.netease.nimlib.sdk.avchat.model.AVChatParameters.getBoolean | ( | Key< Boolean > | key | ) |
在文件 AVChatParameters.java 第 1033 行定义.
final float com.netease.nimlib.sdk.avchat.model.AVChatParameters.getFloat | ( | Key< Float > | key | ) |
在文件 AVChatParameters.java 第 1077 行定义.
final int com.netease.nimlib.sdk.avchat.model.AVChatParameters.getInteger | ( | Key< Integer > | key | ) |
在文件 AVChatParameters.java 第 1037 行定义.
RtcParameters com.netease.nimlib.sdk.avchat.model.AVChatParameters.getRawParameters | ( | ) |
在文件 AVChatParameters.java 第 998 行定义.
final String com.netease.nimlib.sdk.avchat.model.AVChatParameters.getString | ( | Key< String > | key | ) |
在文件 AVChatParameters.java 第 1041 行定义.
final void com.netease.nimlib.sdk.avchat.model.AVChatParameters.removeParameters | ( | Key | key | ) |
在文件 AVChatParameters.java 第 1081 行定义.
final<T> void com.netease.nimlib.sdk.avchat.model.AVChatParameters.set | ( | Key< T > | key, |
T | value | ||
) |
在文件 AVChatParameters.java 第 1062 行定义.
final void com.netease.nimlib.sdk.avchat.model.AVChatParameters.setBoolean | ( | Key< Boolean > | key, |
boolean | value | ||
) |
在文件 AVChatParameters.java 第 1049 行定义.
final void com.netease.nimlib.sdk.avchat.model.AVChatParameters.setFloat | ( | Key< Float > | key, |
float | value | ||
) |
在文件 AVChatParameters.java 第 1073 行定义.
final void com.netease.nimlib.sdk.avchat.model.AVChatParameters.setInteger | ( | Key< Integer > | key, |
int | value | ||
) |
在文件 AVChatParameters.java 第 1045 行定义.
void com.netease.nimlib.sdk.avchat.model.AVChatParameters.setRawParameters | ( | RtcParameters | parameters | ) |
在文件 AVChatParameters.java 第 1002 行定义.
final AVChatParameters com.netease.nimlib.sdk.avchat.model.AVChatParameters.setRequestKey | ( | Key | key | ) |
在文件 AVChatParameters.java 第 1026 行定义.
final AVChatParameters com.netease.nimlib.sdk.avchat.model.AVChatParameters.setRequestKeys | ( | Set< Key > | keys | ) |
在文件 AVChatParameters.java 第 1014 行定义.
final void com.netease.nimlib.sdk.avchat.model.AVChatParameters.setString | ( | Key< String > | key, |
String | value | ||
) |
在文件 AVChatParameters.java 第 1053 行定义.
|
static |
是否允许语音通话时开启距离传感器。
在语音通话时,如果开启距离传感器,当检测到手机听筒贴近人脸会自动黑掉屏幕。视频通话时会自动仅用距离传感器。
Writable:
Runtime:
在文件 AVChatParameters.java 第 419 行定义.
|
static |
语音前处理,回音抑制, 用来消除语音通话的回音。
目前支持内置软件语音处理和设备硬件语音处理,SDK默认优先采用设备硬件语音处理。如果有很特殊的使用场景,也可以选择关闭语音处理。
不是所有的设备都支持硬件语音处理,对不支持硬件语音处理的设备采用优先硬件语音处理会自动回滚到软件语音处理。
Possible values:
Writable:
Runtime:
Compatibility - 部分设备标记支持硬件语音处理,但是实际没有硬件语音处理。 部分设备的硬件语音处理效果很差,需要切换到软件语音处理。
在文件 AVChatParameters.java 第 407 行定义.
|
static |
语音处理, 自动增益
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 378 行定义.
|
static |
语音前处理,降噪,用来消除语音通话的背景噪音。
目前支持内置软件语音处理和设备硬件语音处理,SDK默认优先采用设备硬件语音处理。如果有很特殊的使用场景,也可以选择关闭语音处理。
不是所有的设备都支持硬件语音处理,对不支持硬件语音处理的设备采用优先硬件语音处理会自动回滚到软件语音处理。
Possible values:
Writable:
Runtime:
Compatibility - 部分设备标记支持硬件语音处理,但是实际没有硬件语音处理。 部分设备的硬件语音处理效果很差,需要切换到软件语音处理。
在文件 AVChatParameters.java 第 354 行定义.
|
static |
外部语音数据采集
用户在SDK外部采集语音数据,然后按照一定格式传入SDK内部编码发送
Writable:
Runtime:
推荐使用 AVChatManager#setExternalAudioSource(boolean)
在文件 AVChatParameters.java 第 956 行定义.
|
static |
语音数据预处理。
通过此回调,外部可实现语音数据的预处理。目前提供外部的数据格式为
, 数据通过 AVChatStateObserver#onAudioFrameFilter(AVChatAudioFrame) 传递给上层, 外部需要同步处理此数据。
Writable:
Runtime:
在文件 AVChatParameters.java 第 668 行定义.
|
static |
高清晰语音。
默认情况下不开启高清语音。高清语音将使用高采样率进行语音采集来提升语音的清晰度。
Writable:
Runtime:
Compatibility - 部分设备不支持高清语音采集。
在文件 AVChatParameters.java 第 715 行定义.
|
static |
语音播放采样率设置
在文件 AVChatParameters.java 第 984 行定义.
|
static |
语音播放采样率设置
在文件 AVChatParameters.java 第 963 行定义.
|
static |
声音强度汇报。
通话过程中汇报正在说话用户的语音强度。语音强度通过 AVChatStateObserver#onReportSpeaker(Map, int) 上报给上层。
Writable:
Runtime:
在文件 AVChatParameters.java 第 701 行定义.
|
static |
自定义本地兼容性配置
该参数设置一个本地文件路径,以指定一个本地兼容性配置文件供SDK解析应用。 每次启用,SDK都会重新解析本地配置文件。对于相同的配置项,本地适配会优先于服务器适配。
Writable:
Runtime:
在文件 AVChatParameters.java 第 939 行定义.
|
static |
自定义服务器兼容性配置
该参数设置一个URL地址,以指定一个远端JSON配置文件,由SDK负责下载后解析,并缓存在本地。 每次加载时,如果对应缓存有效,SDK优先使用缓存的配置;否则,本次仅完成下载和解析工作,配置会在下一次通话时才能应用。 SDK会间隔15分钟去同步远端配置文件的修改,重新下载、解析并缓存。
Writable:
Runtime:
在文件 AVChatParameters.java 第 926 行定义.
|
static |
默认情况下设备顺时针旋转角度, 某些特殊设备在默认情况下无法获取到设备方向,可指定默认的设备角度。
当一个设备水平放置时,它当前的角度是未定义的。 如果一个设备的工作环境永远是水平放置的,那么需要为它制定一个默认的旋转角度。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 214 行定义.
|
static |
设备旋转角度修正偏移量。
如果存在SDK内部获取的角度和设备实际角度总是存在同样的误差,那么可以这只一个修正偏移量。主要存在一个定制设备有此类问题,大部分手机平板不需要关注此参数。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 243 行定义.
|
static |
设置是否打印 kTraceProfile 日志
在文件 AVChatParameters.java 第 972 行定义.
|
static |
|
static |
|
static |
服务器录制模式。
设置服务器录制时的模式,混合与单人、混合、单人。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 851 行定义.
|
static |
|
static |
|
static |
互动直播混屏模式。
当互动直播时有连麦用户加入,可以指定不同当混屏模式。用户可以使用简单的混合模式,也可以自定义复杂的混合模式
Writable:
Runtime:
在文件 AVChatParameters.java 第 895 行定义.
|
static |
互动直播模式。
开启互动直播前提是需要多人会议模式, 必须通过 AVChatManager#joinRoom2(String, AVChatType, AVChatCallback) 来加入房间。
Writable:
Runtime:
在文件 AVChatParameters.java 第 912 行定义.
|
static |
互动直播推流地址。
推流地址,仅主播设置,非主播用户不能设置此参数。 如果需要开启直播,必须在通话前设置推流地址,通话过程中可以更新推流地址。
Writable:
Runtime:
Units: UTF-8 null-terminated string
在文件 AVChatParameters.java 第 685 行定义.
|
static |
多人模式下用户角色设定。
普通模式下,允许发送和接收数据。当切换到观众模式时,自己仅接收数据,不再发送数据。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 526 行定义.
|
static |
视频采集方向。
默认情况下都是竖屏采集,用户可以设置不同的采集方向来调整拉流观众观看的角度。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 745 行定义.
|
static |
视频硬件解码模式。
目前仅支持高通CPU系列的硬件解码,如果设备不支持硬件解码,设置硬件解码后会自动回滚到软件解码模式。
Possible values:
Writable:
Runtime:
Compatibility - 存在设备兼容性问题,部分设备已加入黑名单。
在文件 AVChatParameters.java 第 299 行定义.
|
static |
视频硬件编码模式。
目前仅支持高通CPU系列的硬件编码,如果设备不支持硬件编码,设置硬件编码后会自动回滚到软件编码模式。
Possible values:
Writable:
Runtime:
Compatibility - 存在设备兼容性问题,部分设备已加入黑名单。
在文件 AVChatParameters.java 第 271 行定义.
|
static |
视频画面裁剪比例。
默认情况是视频采集画面不裁剪。 在不同的设备上采集处理的分辨率可能不一样。 比如
可能存在
和
。 不同的分辨率会导致在预览绘制时画面存在画面显示不全或者黑边等问题。
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 775 行定义.
|
static |
视频帧率汇报。
每2秒会汇报本地预览帧率和对方画面预览帧率。帧率通过 AVChatStateObserver#onVideoFpsReported(String, int) 上报。
Writable:
Runtime:
在文件 AVChatParameters.java 第 543 行定义.
|
static |
视频数据预处理。
通过此回调,外部可实现视频数据的预处理。目前提供数据格式为 android.graphics.ImageFormat#NV21, 数据通过 AVChatStateObserver#onVideoFrameFilter(AVChatVideoFrame, boolean) 传递给上层,外部需要同步处理此数据。 目前数据回调所在线程不具备 android.opengl.EGLContext 上下文环境。
Writable:
Runtime:
在文件 AVChatParameters.java 第 608 行定义.
|
static |
视频数据回调图像格式
通过回调 AVChatStateObserver#onVideoFrameFilter(AVChatVideoFrame, boolean) 传出的数据格式。 建议使用 AVChatImageFormat#I420 格式,默认格式为 AVChatImageFormat#NV21.
Possible values:
Writable:
Runtime:
在文件 AVChatParameters.java 第 651 行定义.
|
static |
视频数据预处理。
通过此回调,外部可实现视频数据的预处理。目前提供数据格式为 android.graphics.ImageFormat#NV21,android.graphics.ImageFormat#I420,#GLES11Ext.GL_TEXTURE_EXTERNAL_OES, 数据通过 AVChatStateObserver#onVideoFrameFilter(VideoFrame, VideoFrame[], VideoFilterParameter) 传递给上层,外部需要同步处理此数据。 目前数据回调所在线程具备 android.opengl.EGLContext 上下文环境。
Writable:
Runtime:
在文件 AVChatParameters.java 第 626 行定义.
|
static |
视频帧率。
设置视频画面期望帧率,由于设备限制,性能等问题可能存在实际帧率和期望帧率不一致。
Possible values:
Writable:
Runtime:
Units: Frames per second (FPS)
在文件 AVChatParameters.java 第 590 行定义.
|
static |
前置摄像头本地预览镜像
当使用前置摄像头时,本地预览画面是否镜像。 默认前置摄像头画面镜像处理。
Writable:
Runtime:
在文件 AVChatParameters.java 第 788 行定义.
|
static |
视频最大码率。
设置视频流的最大码率,码率需要结合分辨率来设置,不能设置过小。
Writable:
Runtime:
Units: bit per seconds(bps)
Range of valid values: >0 , <5Mbps
在文件 AVChatParameters.java 第 558 行定义.
|
static |
设置视频预览清晰度。
如果设置的分辨率小于KEY_VIDEO_QUALITY , 那么无效 ,设置 QUALITY_DEFAULT 与不设置一样 ,默认为 QUALITY_DEFAULT( 预览跟随KEY_VIDEO_QUALITY )
实际预览分辨率和你设置的会有一定的区别, 对于
可能存在
或者
。 更极端的情况下,设备摄像头不支持采集某一档次的清晰度,会自动降低到下一档次。
注意: 如果设置了预览清晰度 ,那么设备摄像头采集的清晰度将以预览清晰度为标准,这可能导致最终发送分辨率有额外的缩放
Possible values:
Writable:
Runtime:
Compatibility - 部分设置不能支持所有档次的清晰度
在文件 AVChatParameters.java 第 489 行定义.
|
static |
视频清晰度。
在视频通话时,可以设置你期望的视频发送分辨率。 实际采集分辨率和你设置的会有一定的区别, 对于
可能存在
或者
。 更极端的情况下,设备摄像头不支持采集某一档次的清晰度,会自动降低到下一档次。实际采用的清晰度级别可以通过此参数获取。
Possible values:
Writable:
Runtime:
Compatibility - 部分设置不能支持所有档次的清晰度
在文件 AVChatParameters.java 第 453 行定义.
|
static |
视频绘制时自动旋转。
视频绘制时会结合对方发送的画面角度,自己设备当前的角度以及当前视图布局的角度来旋转画面,让画面在任何情况下相对于自己都是正方向。
Writable:
Runtime:
在文件 AVChatParameters.java 第 502 行定义.
|
static |
获取系统是否支持硬件解码。
目前仅支持高通CPU系列的硬件解码。
Writable:
Runtime:
Compatibility - 存在设备兼容性问题,部分设备已加入黑名单。
在文件 AVChatParameters.java 第 325 行定义.
|
static |
获取系统是否支持硬件编码。
目前仅支持高通CPU系列的硬件编码。
Writable:
Runtime:
Compatibility - 存在设备兼容性问题,部分设备已加入黑名单。
在文件 AVChatParameters.java 第 312 行定义.
|
static |
前置摄像头发送数据预览镜像
当使用前置摄像头时,本地发送画面是否镜像。 默认前置摄像头发送换面不镜像处理。
Writable:
Runtime:
在文件 AVChatParameters.java 第 801 行定义.