#include <IAgoraRtcEngine.h>
Protected Member Functions | |
AParameter & | parameter () |
int | setParameters (const char *format,...) |
int | setObject (const char *key, const char *format,...) |
int | stopAllRemoteVideo () |
为 Agora SDK 设置参数的辅助类。
|
inline |
|
inline |
|
inline |
开关本地视频采集。
该方法启用/禁用本地视频采集功能。该方法用于只看不发的视频场景。请在调用 enableVideo 方法之后调用该方法,否则该方法可能无法正常使用。调用 enableVideo 方法后本地视频默认开启。使用该方法可以开启或关闭本地视频,且不影响接收远端视频。
enabled |
|
|
inline |
开关本地视频发送。
mute |
|
|
inline |
接收/停止接收所有远端视频流。
mute |
|
|
inline |
设置是否默认停止接收视频流。
mute |
|
|
inline |
停止接收指定远端用户的视频流。
uid | 指定用户的用户 ID。 |
mute |
|
|
inline |
设置播放设备音量。
请使用 setPlaybackDeviceVolume 作为替代。
volume | 播放设备音量。取值区间 [0,255]。 |
|
inline |
开始客户端录音。
Agora SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为:
请确保 App 里指定的目录存在且可写。该接口需在 joinChannel 之后调用。如果调用 leaveChannel 时还在录音,录音会自动停止。
filePath | 录音文件的本地保存路径,由用户自行指定,需精确到文件名及格式,例如:/dir1/dir2/dir3/audio.aac。 |
quality | AUDIO_RECORDING_QUALITY_TYPE 。 |
|
inline |
|
inline |
开始播放音乐文件。
指定本地或在线音频文件来和麦克风采集的音频流进行混音和替换。替换是指用音频文件替换录音设备采集的音频流。该方法可以选择是否让对方听到本地播放的音频并指定循环播放的次数。调用本方法播放音乐文件结束后,会触发 onAudioMixingFinished 回调。
filePath | 指定需要混音的本地或在线音频文件的绝对路径。支持的音频格式包括:3GP、ASF、ADTS、AVI、MP3、MPEG-4、SAMI 和 WAVE。详见: Supported Media Formats in Media Foundation 。 |
loopback |
|
replace |
|
cycle | 循环播放次数:
|
|
inline |
停止播放音乐文件。
该方法停止播放音乐文件。请在频道内调用该方法。
|
inline |
暂停播放音乐文件。
该方法暂停播放音乐文件。请在频道内调用该方法。
|
inline |
恢复播放音乐文件。
该方法恢复混音,继续播放音乐文件。请在频道内调用该方法。
|
inline |
调节音乐文件的播放音量。
该方法调节混音音乐文件在本端和远端的播放音量大小。请在频道内调用该方法。
volume | 音乐文件音量范围为 0~100。默认 100 为原始文件音量。 |
|
inline |
调节音乐文件本端播放音量。
该方法调节混音音乐文件在本端的播放音量大小。请在频道内调用该方法。
volume | 音乐文件音量范围为 0~100。默认 100 为原始文件音量。 |
|
inline |
调节音乐文件远端播放音量。
该方法调节混音音乐文件在远端的播放音量大小。请在频道内调用该方法。
volume | 音乐文件音量范围为 0~100。默认 100 为原始文件音量。 |
|
inline |
获取音乐文件时长。
该方法获取音乐文件时长,单位为毫秒。请在频道内调用该方法。
|
inline |
获取音乐文件的播放进度。
该方法获取当前音乐文件播放进度,单位为毫秒。请在频道内调用该方法。
|
inline |
设置音乐文件的播放位置。
该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。
pos | 整数。进度条位置,单位为毫秒。 |
|
inline |
获取音效文件的播放音量。范围为 [0.0,100.0]。
|
inline |
设置音效文件的播放音量。范围为 [0.0,100.0]。
volume | 该方法设置音效的音量。 |
|
inline |
实时调整音效文件的播放音量。
soundId | 指定音效的 ID。每个音效均有唯一的 ID。 |
volume | 取值范围为 [0.0,100.0]。 100.0 为默认值。 |
|
inline |
播放指定音效文件。
调用该方法播放音效结束后,会触发 onAudioEffectFinished 回调。
soundId | 指定音效的 ID。每个音效均有唯一的 ID。 |
filePath | 音效文件的绝对路径。 |
loopCount | 设置音效循环播放的次数:
|
pitch | 设置音效的音调 取值范围为 [0.5, 2]。默认值为 1.0,表示不需要修改音调。取值越小,则音调越低。 |
pan | 设置是否改变音效的空间位置。取值范围为 [-1.0, 1.0]:
|
gain | 设置是否改变单个音效的音量。取值范围为 [0.0, 100.0]。默认值为 100.0。取值越小,则音效的音量越低。 |
publish | 设置是否将音效传到远端:
|
|
inline |
停止播放指定音效文件。
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
|
inline |
停止播放所有音效文件。
|
inline |
将音效文件加载至内存。
该方法将指定音效文件预加载至内存。
为保证通信畅通,请注意控制预加载音效文件的大小,并在 joinChannel 前就使用该方法完成音效预加载。音频文件支持以下音频格式: mp3、aac、m4a、3gp,和 wav。
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
filePath | 音效文件的绝对路径。 |
|
inline |
从内存释放某个预加载的音效文件。
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID |
|
inline |
暂停音效文件播放。
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
|
inline |
暂停所有音效文件播放。
|
inline |
恢复播放指定音效文件。
soundId | 指定音效文件的 ID。每个音效文件均有唯一的 ID。 |
|
inline |
恢复播放所有音效文件。
|
inline |
设置本地语音音调。
pitch | 语音频率可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 |
|
inline |
设置本地语音音效均衡。
bandFrequency | 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 AUDIO_EQUALIZATION_BAND_FREQUENCY 。 |
bandGain | 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15]。 |
|
inline |
设置本地音效混响。
reverbKey | 混响音效 Key。该方法共有 5 个混响音效 Key: AUDIO_REVERB_TYPE 。 |
value | 各混响音效 Key 所对应的值: |
|
inline |
|
inline |
|
inline |
该方法设置音频高音质选项。请在加入频道前调用本方法并一次性设置好三个模式。切勿在加入频道后再次调用本方法。
fullband | 全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本。
|
stereo | 立体声编解码器,不兼容 1.7.4 以前版本。
|
fullBitrate | 高码率模式,建议仅在纯音频模式下使用。
|
|
inline |
调节录音音量。
volume | 录音信号音量可在 0 ~ 400 范围内进行调节:
|
|
inline |
调节播放音量。
volume | 播放音量可在 0 ~ 400 范围内进行调节:
|
|
inline |
启用说话者音量提示。
该方法允许 SDK 定期向 App 反馈当前谁在说话以及说话者的音量。启用该方法后,无论频道内是否有人说话,都会在 onAudioVolumeIndication 回调中按设置的间隔时间返回音量提示。
interval | 指定音量提示的时间间隔:
|
smooth | 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 |
|
inline |
开关本地音频发送。
该方法用于允许/禁止往网络发送本地音频流。
mute |
|
|
inline |
接收/停止接收指定音频流。
uid | 指定用户的 ID |
mute |
|
|
inline |
接收/停止接收所有音频流。
mute |
|
|
inline |
设置是否默认接收所有音频流。
mute |
|
|
inline |
设置外部音频采集参数。
enabled |
|
sampleRate | 外部音频源的采样率,可设置为 8000,16000,32000,44100 或 48000。 |
channels | 外部音频源的通道数(最多支持两个声道)。 |
|
inline |
设置外部音频渲染。 开启外部音频渲染后,你可以通过调用 pullAudioFrame 方法拉取外部音频帧。
enabled |
|
sampleRate | 外部音频渲染的采样率,可以设为 8000,16000,32000,44100 或 48000 |
channels | 外部音频渲染的声道数(最大值为 2) |
|
inline |
设置日志文件。
设置 SDK 的输出 log 文件。SDK 运行时产生的所有 log 将写入该文件。 App 必须保证指定的目录存在而且可写。
filePath | 日志文件的完整路径。该日志文件为 UTF-8 编码。 |
|
inline |
设置日志输出等级。
设置 Agora SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING、INFO 和 DEBUG。选择一个级别,你就可以看到在该级别之前所有级别的日志信息。
例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。
filter | 设置过滤等级: LOG_FILTER_TYPE 。 |
|
inline |
设置本地视图显示模式。
该方法设置本地视图显示模式。 App 可以多次调用此方法更改显示模式。
renderMode | RENDER_MODE_TYPE 。 |
|
inline |
设置远端视图显示模式。
该方法设置远端视图显示模式。App 可以多次调用此方法更改显示模式。
uid | 远端用户 ID。 |
renderMode | RENDER_MODE_TYPE 。 |
|
inline |
开关双流模式。
该方法设置单流(默认)或者双流模式。发送端开启双流模式后,接收端可以选择接收大流还是小流。其中,大流指高分辨率、高码率的视频流,小流指低分辨率、低码率的视频流。
enabled |
|
|
inline |
设置订阅的视频流类型。
如果发送端选择发送视频双流 (大流,即高分辨率、高码率视频流,或小流,即低分辨率、低码率视频流),接收端可以选择接收大流还是小流。该方法可以根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。
调用本方法的执行结果将在 onApiCallExecuted 中返回。
uid | 用户 ID。 |
streamType | 视频流类型: REMOTE_VIDEO_STREAM_TYPE 。 |
|
inline |
设置默认订阅的视频流类型。
如果发送端选择发送视频双流 (大流,即高分辨率、高码率视频流,或小流,即低分辨率、低码率视频流),接收端可以选择接收大流还是小流。
调用本方法的执行结果将在下文的 onApiCallExecuted 中返回。
视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。
streamType | 视频流类型: REMOTE_VIDEO_STREAM_TYPE 。 |
|
inline |
设置录制的声音格式。
该方法设置 onRecordAudioFrame 回调的录制声音格式。
sampleRate | 指定 onRecordAudioFrame 中返回数据的采样率,可设置为 8000、 16000、 32000、 44100 或 48000。 |
channel | 指定 onRecordAudioFrame 中返回数据的通道数,可设置为 1 或 2:
|
mode | onRecordAudioFrame 回调的使用模式: RAW_AUDIO_FRAME_OP_MODE_TYPE 。 |
samplesPerCall | 指定 onRecordAudioFrame 中返回数据的采样点数,如 RTMP 推流应用中通常为 1024。samplesPerCall = (int)(sampleRate × sampleInterval),其中:sampleInterval ≥ 0.01 单位为秒。 |
|
inline |
设置播放的声音格式。
sampleRate | 指定 onPlaybackAudioFrame 中返回数据的采样率,可设置为 8000,16000,32000,44100 或 48000。 |
channel | 指定 onPlaybackAudioFrame 中返回数据的通道数,可设置为 1 或 2:
|
mode | 指定 onPlaybackAudioFrame 的使用模式: RAW_AUDIO_FRAME_OP_MODE_TYPE 。 |
samplesPerCall | 指定 onPlaybackAudioFrame 中返回数据的采样点数,如RTMP推流应用中通常为 1024。samplesPerCall = (int)(sampleRate × sampleInterval),其中:sampleInterval ≥ 0.01 单位为秒。 |
|
inline |
设置录制与播放声音混音后的数据格式
sampleRate | 指定 onMixedAudioFrame 中返回数据的采样率,可设置为 8000,16000,32000,44100 或 48000。 |
samplesPerCall | 指定 onMixedAudioFrame 中返回数据的采样点数,如 RTMP 推流应用中通常为 1024。samplesPerCall = (int)(sampleRate × sampleInterval),其中:sampleInterval ≥ 0.01 单位为秒。 |
|
inline |
打开与 Agora Web SDK 的互通(仅适用于直播场景)。
enabled |
|
|
inline |
设置视频质量偏好选项(仅用于直播)。
preferFrameRateOverImageQuality |
|
|
inline |
设置本地视频镜像模式。
该方法须在 startPreview 前设置。如果在开启预览后设置,需要重新开启预览才能生效。
mirrorMode | VIDEO_MIRROR_MODE_TYPE 。 |
|
inline |
设置弱网条件下发布的音视频流的回退选项。
默认 option 为 STREAM_FALLBACK_OPTION_DISABLED 。如果你将 option 设置为 STREAM_FALLBACK_OPTION_AUDIO_ONLY ,Agora SDK 将:
当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 onLocalPublishFallbackToAudioOnly 回调。
option | 发布音视频流的回退选项,详见 STREAM_FALLBACK_OPTIONS 。 |
|
inline |
设置弱网条件下订阅的音视频流的回退选项。
默认 option 为 STREAM_FALLBACK_OPTION_VIDEO_STREAM_LOW 。如果你使用本方法并将 option 设置为 STREAM_FALLBACK_OPTION_AUDIO_ONLY SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 onRemoteSubscribeFallbackToAudioOnly 回调。
option | 详见 STREAM_FALLBACK_OPTIONS 。 |
|
inline |
开启声卡采集。
该方法开启声卡采集,开启后 SDK 可以采集到本地播放的所有声音。
enabled |
|
deviceName | 声卡的设备名。默认设为 NULL,即使用当前声卡采集。 如果用户使用虚拟声卡,如 “Soundflower”,可以将虚拟声卡名称 “Soundflower” 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。 |
|
inline |
设置耳返音量。
volume | 设置耳返音量,取值范围在 [0,100] 默认值为 100。 |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |