API Reference for windows - IRTCEngine

更新时间: 2023-10-23 16:45:52
rtc::IRTCEngine类 参考

Public 成员函数

virtual ~IRTCEngine ()
 
设备管理
virtual IVideoDeviceManagergetVideoDeviceManager ()=0
 
virtual IPlayoutManagergetPlayoutManager ()=0
 
virtual IMicManagergetMicManager ()=0
 
入会控制
virtual RTC_RET_CODE initWithToken (const char *token, SDK_CB cb=nullptr)=0
 
virtual bool joinRoom ()=0
 
virtual bool leaveRoom ()=0
 
virtual int publish ()=0
 
virtual int unpublish ()=0
 
virtual bool setClientRole (CLIENT_ROLE_TYPE roleType)=0
 
音视频控制
virtual void enableLocalVideo (bool enable)=0
 
virtual void enableLocalAudio (bool enable)=0
 
virtual void muteLocalVideo (bool mute)=0
 
virtual void muteLocalAudio (bool mute)=0
 
virtual void muteRemoteVideo (UserId uid, bool mute)=0
 
virtual void muteRemoteAudio (UserId uid, bool mute)=0
 
virtual void muteAllRemoteVideo (bool mute)=0
 
virtual void muteAllRemoteAudio (bool mute)=0
 
virtual void setRemoteVolume (UserId uid, int volume, const char *channelId=nullptr)=0
 
视频预览、显示
virtual void setupLocalVideo (WindowIdType view)=0
 
virtual void setLocalRenderMode (RTC_VIDEO_RENDER_MODE mode)=0
 
virtual void startPreview ()=0
 
virtual void stopPreview ()=0
 
virtual void setupRemoteVideo (UserId uid, WindowIdType view, const char *channelId=nullptr)=0
 
virtual void setRemoteRenderMode (UserId uid, RTC_VIDEO_RENDER_MODE mode)=0
 
发送流参数设置
virtual int setVideoResolution (int w, int h)=0
 
virtual int setAudioEncoderConfiguration (int bitrate, int processmode)=0
 
virtual void setVideoBitrate (int videoBitrate)=0
 
virtual void setVideoFps (unsigned videoFps)=0
 
virtual void setVideoResolution (RTC_VIDEO_RESOLUTION videoResolution)=0
 
virtual void setMirror (bool isMirror)=0
 
virtual void setRemoteMirror (unsigned uid, bool isMirror)=0
 
virtual void setAudioRecordedParam (unsigned sampleRate, unsigned nChannel, int nIntervalTime=0)=0
 
使用外部数据
virtual bool enableExternalAudioSource (bool enable, int sampleRate, int channels)=0
 
virtual void pushExternalAudioFrame (ExternalAudioFrame *frame)=0
 
virtual bool enableExternalVideoSource (bool enable)=0
 
virtual void pushExternalVideoFrame (ExternalVideoFrame *frame)=0
 
音视频拦截
virtual bool registerAudioFrameObserver (rtc::IRTCAudioFrameObserver *observer)=0
 
virtual bool registerVideoFrameObserver (rtc::IRTCVideoFrameObserver *observer)=0
 
virtual const char * getVersion (int *build)=0
 
virtual void registerLogFunc (log_func fun, RTCLOGTYPE type=RTCLOGTYPE_INFO)
 
virtual void registerEventHandler (IRTCEngineEventHandler *eventHandler)=0
 
virtual int enableLastmileTest ()=0
 
virtual int disableLastmileTest ()=0
 
virtual int enableLoopbackRecording (bool enabled, const char *deviceName=nullptr)=0
 
virtual IRTCChannelinitChannelToken (const char *token)=0
 
virtual int setConfig (const char *config)=0
 
virtual bool setLogFileConfig (const char *path, int logSize=2 *1024)=0
 
录制功能
virtual bool sendSeiTimestamp (uint64_t seiTime)=0
 
virtual bool getCurSeiTimestamp (uint64_t &seiTime)=0
 
virtual bool setLiveTranscoding (const Stru_RtmpLiveTranscoding &config)=0
 
virtual bool addPublishStreamUrl (const char *url, bool transcodingEnabled=true)=0
 
virtual bool removePublishStreamUrl (const char *url)=0
 
virtual bool setServerTimestamp (uint64_t timestampMs)=0
 
virtual bool enableAutoTimestamp (bool enable, float freq)=0
 
virtual int enableContentInspect (bool enabled, int interval, char *extInfo, int featureRate[], int contentInspectType[], int count)=0
 
virtual int setAVSyncSource (const char *channelId, UserId uid)=0
 
virtual IPlayoutManagergetNewPlayoutManager ()=0
 
virtual IMicManagergetNewMicManager ()=0
 
virtual IVideoDeviceManagergetNewVideoDeviceManager ()=0
 
virtual int adjustRecordingSignalVolume (int volume)=0
 
virtual int enableDualStreamMode (bool enabled)=0
 
virtual int setRemoteSubscribeFallbackOption (rtc::STREAM_FALLBACK_OPTIONS option)=0
 
virtual int setRemoteVideoStreamType (UserId uid, rtc::REMOTE_VIDEO_STREAM_TYPE streamType)=0
 
virtual int applyRemoteStreamSubscribeAdvice (UserId userId, rtc::SUBSCRIPTION_STREAM_TYPE streamType)=0
 
virtual int adjustPlaybackSignalVolume (int volume)=0
 
virtual int setBusinessUserRole (rtc::BUSI_USER_ROLE role)=0
 
virtual bool parseToken (const char *token, uint64_t &channelId, uint64_t &userId)=0
 
virtual int setRotationApplied (bool bRotation)=0
 
virtual int setPlaybackAudioFrameParameters (int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall)=0
 
virtual int sendStreamMessage (const char *data, size_t length, uint64_t timestamp)=0
 
virtual int setRemoteUserPriority (UserId uid, PRIORITY_TYPE userPriority)=0
 
virtual int checkFeatureSupport (RTCFeature feature)=0
 
virtual int getEngineType ()=0
 
virtual int startChannelMediaRelay (char *srcToken, char **dstToken, int nDstCount)=0
 
virtual int updateChannelMediaRelay (char *srcToken, char **dstToken, int nDstCount)=0
 
virtual int stopChannelMediaRelay ()=0
 
virtual RTC_RET_CODE initWithEngineInfo (char *token, char *appId, unsigned int userId, int engineType)=0
 
virtual IRTCChannelinitWithChannelInfo (char *token, char *appId, char *channelId, unsigned int userId, int engineType)=0
 
virtual bool enableAudioVolumeIndication (int interval)=0
 
virtual void setCaptureResolution (int w, int h)=0
 
virtual void setSubscribeOption (bool autoSubscribeAudio, bool autoSubscribeVideo)=0
 

详细描述

IRtcEngine 类提供了供 App 调用的主要接口方法。

构造及析构函数说明

◆ ~IRTCEngine()

virtual rtc::IRTCEngine::~IRTCEngine ( )
virtual

成员函数说明

◆ getVideoDeviceManager()

virtual IVideoDeviceManager * rtc::IRTCEngine::getVideoDeviceManager ( )
pure virtual

视频设备管理

返回
IVideoDeviceManager*

◆ getPlayoutManager()

virtual IPlayoutManager * rtc::IRTCEngine::getPlayoutManager ( )
pure virtual

播放器设备管理

返回
IVideoDeviceManager*

◆ getMicManager()

virtual IMicManager * rtc::IRTCEngine::getMicManager ( )
pure virtual

麦克(录音)设备管理

返回
IVideoDeviceManager*

◆ initWithToken()

virtual RTC_RET_CODE rtc::IRTCEngine::initWithToken ( const char *  token,
SDK_CB  cb = nullptr 
)
pure virtual

初始化系统
通过getRtcEngineInstance得到引擎实例后,在在使用引擎的相关功能之前要先调用此函数初始化引擎

参数
token: 用户的token (用户通过自己的业务服务器获取),使用jwt编码,里面应该包括:
type: 引擎的类型
payload: 数据,包括如下内容
room: room名字(ID)

user: 用户的名字;如果不提供,sdk会自动生成一个
appid: app的标志
token: 如果APP启用的了加密认证,则必须有该用户的入会token

cb: 结果回调函数; 将返回相关的入会前准备结果;
如果用户提供的token无法解码,会返回状态码:RET_DECODE_FAILED
入会情况(是否成功)将通过 onUserJoined 事件反应

返回
RTC_RET_CODE

◆ joinRoom()

virtual bool rtc::IRTCEngine::joinRoom ( )
pure virtual

加入频道。 该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App 是不能互通的。如果已在通话中,用户必须调用 leaveRoom 退出当前通话,才能进入下一个频道。 成功调用该方加入频道后,本地会触发 onJoinChannelSuccess 回调;

返回
true 成功
false 失败

◆ leaveRoom()

virtual bool rtc::IRTCEngine::leaveRoom ( )
pure virtual

离开频道。 离开频道,即挂断或退出通话。 当调用 joinChannel 方法后,必须调用 leaveChannel 结束通话,否则无法开始下一次通话。 不管当前是否在通话中,都可以调用 leaveChannel,没有副作用。该方法会把会话相关的所有资源释放掉。 该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 onJoinedRoom 回调。

返回
true 成功
false 失败

◆ publish()

virtual int rtc::IRTCEngine::publish ( )
pure virtual

开始推流

返回
int 0: 成功. - < 0: 失败.

◆ unpublish()

virtual int rtc::IRTCEngine::unpublish ( )
pure virtual

停止推流

返回
int return 0: 成功. < 0: 失败.

◆ setClientRole()

virtual bool rtc::IRTCEngine::setClientRole ( CLIENT_ROLE_TYPE  roleType)
pure virtual

设置Engine中本用户的角色, 默认使用主播模式进入房间;该接口可以在加入房间前或者加入房间后设置;在加入房间后重新设置角色会收到 onClientRoleChanged 回调

参数
roleType角色类型:CLIENT_ROLE_BROADCASTER 主播,CLIENT_ROLE_AUDIENCE 观众;
返回
true 成功
false 失败

◆ enableLocalVideo()

virtual void rtc::IRTCEngine::enableLocalVideo ( bool  enable)
pure virtual

是否打开本地视频流 包括capturer, renderer, and sender

参数
enabletrue:打开;false: 关闭

◆ enableLocalAudio()

virtual void rtc::IRTCEngine::enableLocalAudio ( bool  enable)
pure virtual

是否打开本地音频流 包括capturer, renderer, and sender

参数
enabletrue:打开;false: 关闭

◆ muteLocalVideo()

virtual void rtc::IRTCEngine::muteLocalVideo ( bool  mute)
pure virtual

是否发送视频

参数
mutetrue:发送 false:不发送

◆ muteLocalAudio()

virtual void rtc::IRTCEngine::muteLocalAudio ( bool  mute)
pure virtual

是否发送音频

参数
enabletrue:发送 false:不发送

◆ muteRemoteVideo()

virtual void rtc::IRTCEngine::muteRemoteVideo ( UserId  uid,
bool  mute 
)
pure virtual

是否接受远程视频
远方用户加入,会自动接收其视频(缺省ummute状态)

参数
uid远程用户Id
mutetrue:不接受远程视频;false:接受远程视频

◆ muteRemoteAudio()

virtual void rtc::IRTCEngine::muteRemoteAudio ( UserId  uid,
bool  mute 
)
pure virtual

是否接受远程音频 远方用户加入,会自动接收其音频(缺省unmute状态)

参数
uid远程用户Id
mutetrue:不接受远程音频;false:接受远程音频

◆ muteAllRemoteVideo()

virtual void rtc::IRTCEngine::muteAllRemoteVideo ( bool  mute)
pure virtual

是否接受所有远程视频

参数
mutetrue:不接受远程视频;false:接受远程视频

◆ muteAllRemoteAudio()

virtual void rtc::IRTCEngine::muteAllRemoteAudio ( bool  mute)
pure virtual

是否接受所有远程音频

参数
mutetrue:不接受远程音频;false:接受远程音频

◆ setRemoteVolume()

virtual void rtc::IRTCEngine::setRemoteVolume ( UserId  uid,
int  volume,
const char *  channelId = nullptr 
)
pure virtual

控制本地播放远端的音量

参数
volume取值[0,100]

◆ setupLocalVideo()

virtual void rtc::IRTCEngine::setupLocalVideo ( WindowIdType  view)
pure virtual

设置本地预览的显示窗口

参数
view本地预览的显示窗口,如果为0,就不显示了

◆ setLocalRenderMode()

virtual void rtc::IRTCEngine::setLocalRenderMode ( RTC_VIDEO_RENDER_MODE  mode)
pure virtual

设置本地预览显示的方式

参数
mode显示方式

◆ startPreview()

virtual void rtc::IRTCEngine::startPreview ( )
pure virtual

开始本地视频预览
在调用本方法之前,应先: 调用 IRTCEngine::setupLocalVideo 设置本地预览窗口 调用 IRTCEngine::setupLocalRenderMode 设置本地预览显示方式

◆ stopPreview()

virtual void rtc::IRTCEngine::stopPreview ( )
pure virtual

结束本地视频预览

◆ setupRemoteVideo()

virtual void rtc::IRTCEngine::setupRemoteVideo ( UserId  uid,
WindowIdType  view,
const char *  channelId = nullptr 
)
pure virtual

设置远程视频的显示窗口

参数
uid远程用户Id
view本地预览的显示窗口,如果为0,就不显示了
channelIdchannelId

◆ setRemoteRenderMode()

virtual void rtc::IRTCEngine::setRemoteRenderMode ( UserId  uid,
RTC_VIDEO_RENDER_MODE  mode 
)
pure virtual

设置远程用户窗口显示方式

参数
uid远程用户Id
mode显示方式

◆ setVideoResolution() [1/2]

virtual int rtc::IRTCEngine::setVideoResolution ( int  w,
int  h 
)
pure virtual

设置发送视频的比特率

参数
w
h
返回
int return 0: 成功. < 0: 失败.

◆ setAudioEncoderConfiguration()

virtual int rtc::IRTCEngine::setAudioEncoderConfiguration ( int  bitrate,
int  processmode 
)
pure virtual

设置音频采样率

参数
bitrate音频码率
processmode音频采样率模式
返回
int return 0: 成功. < 0: 失败.

◆ setVideoBitrate()

virtual void rtc::IRTCEngine::setVideoBitrate ( int  videoBitrate)
pure virtual

设置码率

参数
videoBitrate码率

◆ setVideoFps()

virtual void rtc::IRTCEngine::setVideoFps ( unsigned  videoFps)
pure virtual

设置发送视频的帧率

参数
videoFps视频帧率

◆ setVideoResolution() [2/2]

virtual void rtc::IRTCEngine::setVideoResolution ( RTC_VIDEO_RESOLUTION  videoResolution)
pure virtual

设置发送视频的分辨率

参数
videoResolution视频的分辨率

◆ setMirror()

virtual void rtc::IRTCEngine::setMirror ( bool  isMirror)
pure virtual

设置本地(待发送)视频是否镜像处理

参数
isMirrortrue:镜像 false:非镜像

◆ setRemoteMirror()

virtual void rtc::IRTCEngine::setRemoteMirror ( unsigned  uid,
bool  isMirror 
)
pure virtual

设置远端视频是否镜像处理

参数
uid
isMirrortrue:镜像 false:非镜像

◆ setAudioRecordedParam()

virtual void rtc::IRTCEngine::setAudioRecordedParam ( unsigned  sampleRate,
unsigned  nChannel,
int  nIntervalTime = 0 
)
pure virtual

设置本地录制音频参数 通过 onRecordAudioFrame返回。

参数
sampleRate设置采集的音频的采样率 {8000,16000,32000,44100,48000}
nChannel设置采集的音频声道数 1 mono,2 stereo
nIntervalTime取值 [1, 1000], 影响 onRecordAudioFrame回调的间隔,单位ms, 默认 10ms 回调onRecordAudioFrame一次

◆ enableExternalAudioSource()

virtual bool rtc::IRTCEngine::enableExternalAudioSource ( bool  enable,
int  sampleRate,
int  channels 
)
pure virtual

是否启用外部音频数据 sampleRate和channels必须和pushExternalAudioFrame中数据中指定的格式一致,否则语音无法正常播放

参数
enable是否用外部的音频数据源(系统默认不使用)
sampleRate外部音频数据的采样率, 目前可以是: 8000, 16000, 32000, 44100, or 48000.
channels外部数据源的通道数量(最多为2).
返回
true 成功
false 失败

◆ pushExternalAudioFrame()

virtual void rtc::IRTCEngine::pushExternalAudioFrame ( ExternalAudioFrame frame)
pure virtual

推送外部音频帧, 注意必须在 enableExternalAudioSource(true) 成功之后,才能推送外部视频

参数
frame音频数据帧

◆ enableExternalVideoSource()

virtual bool rtc::IRTCEngine::enableExternalVideoSource ( bool  enable)
pure virtual

设置是否使用外部视频源

参数
enabletrue:使用外部视频源; false:不使用外部视频源(系统默认)
返回
true 成功
false 失败

◆ pushExternalVideoFrame()

virtual void rtc::IRTCEngine::pushExternalVideoFrame ( ExternalVideoFrame frame)
pure virtual

推送外部视频数据,注意必须在 enableExternalVideoSource(true)成功之后,才能推送外部视频 <br>

参数
[in]frame外部视频帧,
参见
ExternalVideoFrame

◆ registerAudioFrameObserver()

virtual bool rtc::IRTCEngine::registerAudioFrameObserver ( rtc::IRTCAudioFrameObserver observer)
pure virtual

注册音频帧观察对象,当有音频数据时,引擎会调用其中对应的方法 onRecordAudioFrame or onPlaybackAudioFrame callback. 必须在initWithToken之后调用,才可能成功

参数
observer音频帧观察对象. 如果为null,则取消观察
返回
true 成功
false 失败

◆ registerVideoFrameObserver()

virtual bool rtc::IRTCEngine::registerVideoFrameObserver ( rtc::IRTCVideoFrameObserver observer)
pure virtual

注册视频帧观察对象,当有视频数据时,引擎会调用其中对应的方法 onCaptureVideoFrame or onRenderVideoFrame callback.
必须在initWithToken之后调用,才可能成功

参数
observer音频帧观察对象. 如果为null,则取消观察
返回
true: 成功
false:失败

◆ getVersion()

virtual const char * rtc::IRTCEngine::getVersion ( int *  build)
pure virtual

Retrieves the SDK version number.

参数
buildPointer to the build number
返回
const char* he version of the current SDK in the string format. For example, 2.3.1.

◆ registerLogFunc()

virtual void rtc::IRTCEngine::registerLogFunc ( log_func  fun,
RTCLOGTYPE  type = RTCLOGTYPE_INFO 
)
virtual

该接口暂不支持

参数
fun
type

◆ registerEventHandler()

virtual void rtc::IRTCEngine::registerEventHandler ( IRTCEngineEventHandler eventHandler)
pure virtual

注册事件处理器,处理rtc engine内部发出后的事件 如果要取消监听事件,将参数设置为nullptr即可

参数
eventHandler事件处理对象

◆ enableLastmileTest()

virtual int rtc::IRTCEngine::enableLastmileTest ( )
pure virtual

启动网络测试
该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。
启用该方法会消耗网络流量,影响通话质量。用户应该在收到 onLastmileQuality 回调后调用 disableLastmileTest 停止测试。
注意:调用该方法后,在收到 onLastmileQuality 回调前请勿调用其他方法,否则可能由于 API 操作过于频繁导致回调无法执行。

返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ disableLastmileTest()

virtual int rtc::IRTCEngine::disableLastmileTest ( )
pure virtual

停止网络测试。

返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ enableLoopbackRecording()

virtual int rtc::IRTCEngine::enableLoopbackRecording ( bool  enabled,
const char *  deviceName = nullptr 
)
pure virtual

是否开启声卡采集:启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端

参数
enabledtrue: 开启声卡采集; false: (默认)关闭声卡采集
deviceName声卡的设备名。默认设为 NULL,即使用当前声卡采集。 如果用户使用虚拟声卡,如 “Soundflower”,可以将虚拟声卡名称 “Soundflower” 作为参数,SDK 会找到对应的虚拟声卡设备,并开始采集。
返回
int

◆ initChannelToken()

virtual IRTCChannel * rtc::IRTCEngine::initChannelToken ( const char *  token)
pure virtual

初始化token获取仅用于拉流的channel对象

参数
token通过token 获取房间对象
返回
IRTCChannel* IRTCChannel

◆ setConfig()

virtual int rtc::IRTCEngine::setConfig ( const char *  config)
pure virtual

设置私有接口

参数
config私有接口配置
返回
int

◆ setLogFileConfig()

virtual bool rtc::IRTCEngine::setLogFileConfig ( const char *  path,
int  logSize = 2 *1024 
)
pure virtual

设置日志存储路径和日志大小, 默认2M,该接口需要在 initWithToken 前调用

参数
path日志路径
logSize日志大小
返回
true 设置成功
false 设置失败

◆ sendSeiTimestamp()

virtual bool rtc::IRTCEngine::sendSeiTimestamp ( uint64_t  seiTime)
pure virtual

发送sei时间戳,单位毫秒,对端通过 onSeiTimestampArrived 回调收到sei时间戳,该接口需要在加入房间后调用,
注意如果不需要发送sei,千万不要调用该接口,否则会变成主播身份

参数
seiTimeseiTime
返回
true 成功
false 失败

◆ getCurSeiTimestamp()

virtual bool rtc::IRTCEngine::getCurSeiTimestamp ( uint64_t &  seiTime)
pure virtual

获取sei时间戳, sei时间戳是通过 onSeiTimestampArrived 回调来更新的

参数
seiTime
返回
true 成功
false 失败

◆ setLiveTranscoding()

virtual bool rtc::IRTCEngine::setLiveTranscoding ( const Stru_RtmpLiveTranscoding config)
pure virtual

设置编码参数

参数
config
返回
true 成功
false 失败

◆ addPublishStreamUrl()

virtual bool rtc::IRTCEngine::addPublishStreamUrl ( const char *  url,
bool  transcodingEnabled = true 
)
pure virtual

增加rtmp旁路推流功能,当transcodingEnabled=true时,要先调用setLiveTranscoding接口来设置转码参数,

参数
url转推rtmp的地址;
transcodingEnabledtrue:开启转码推流;false:关闭转码推流。
返回
true 成功
false 失败

◆ removePublishStreamUrl()

virtual bool rtc::IRTCEngine::removePublishStreamUrl ( const char *  url)
pure virtual

删除对应url流的旁路推流功能, 该接口会触发回调 onRtmpStreamingStateChanged

参数
url转推rtmp的地址
返回
true 成功
false 失败

◆ setServerTimestamp()

virtual bool rtc::IRTCEngine::setServerTimestamp ( uint64_t  timestampMs)
pure virtual

自动化发送sei时间戳 使用业务设置的时间戳setServerTimestamp, 该接口需要在 enableAutoTimestamp 之前调用

参数
timestampMs时间戳
返回
true 成功
false 失败

◆ enableAutoTimestamp()

virtual bool rtc::IRTCEngine::enableAutoTimestamp ( bool  enable,
float  freq 
)
pure virtual

开始/停止自动化sei,该接口需要在onJoinChannelSuccess 回调后使用,
注意如果不需要发送sei,千万不要调用该接口,否则会变成主播身份

参数
enabletrue:开始自动化sei; stop:停止自动化sei
freq每秒钟发送sei的次数
返回
true 成功
false 失败

◆ enableContentInspect()

virtual int rtc::IRTCEngine::enableContentInspect ( bool  enabled,
int  interval,
char *  extInfo,
int  featureRate[],
int  contentInspectType[],
int  count 
)
pure virtual

开启/关闭检黄功能

参数
enabledtrue: 开启. false: 关闭.
interval截图时间间隔
extInfo自定义数据
featureRate检测类型的频率数组,值为基础频率的倍数,基础频率10s一次
featureRate[0]是截图的上传频率
featureRate[1]是AI监课的上传频率
example: featureRate[0] = 2;意味着20s上传一次

contentInspectType模式类型 默认填0
count检测类型数量、featureRate数组的大小,featureRate数组最大值为32
返回
int 0: Success, < 0: Failure.

◆ setAVSyncSource()

virtual int rtc::IRTCEngine::setAVSyncSource ( const char *  channelId,
UserId  uid 
)
pure virtual

双发流端音画同步

参数
channelId远端房间ID. uid: 房间中的一个用户.
uiduid
返回
int 0: Success, < 0: Failure.

◆ getNewPlayoutManager()

virtual IPlayoutManager * rtc::IRTCEngine::getNewPlayoutManager ( )
pure virtual

获取最新的扬声器设备管理器,获取后如果再调 getPlayoutManager 得到的仍然是新设备管理器

返回
IPlayoutManager*

◆ getNewMicManager()

virtual IMicManager * rtc::IRTCEngine::getNewMicManager ( )
pure virtual

获取最新的摄像头设备管理器,获取后如果再调getVideoDeviceManager得到的仍然是新设备管理器

返回
IMicManager*

◆ getNewVideoDeviceManager()

virtual IVideoDeviceManager * rtc::IRTCEngine::getNewVideoDeviceManager ( )
pure virtual

获取最新的摄像头设备管理器,获取后如果再调getVideoDeviceManager得到的仍然是新设备管理器

返回
IVideoDeviceManager*

◆ adjustRecordingSignalVolume()

virtual int rtc::IRTCEngine::adjustRecordingSignalVolume ( int  volume)
pure virtual

设置SDK层的麦克风音量,建议只设置0和100这两种值,可以和设备IMicManager的setVolume同时调用

参数
volume音量大小,0表示静音,100表示原始音量(同设备的真实音量相等)
返回
int 0: 成功. < 0: 失败.

◆ enableDualStreamMode()

virtual int rtc::IRTCEngine::enableDualStreamMode ( bool  enabled)
pure virtual

开启大小流

参数
enabled: true 开启,false 不开启
返回
- 0: 成功. - < 0: 失败.

◆ setRemoteSubscribeFallbackOption()

virtual int rtc::IRTCEngine::setRemoteSubscribeFallbackOption ( rtc::STREAM_FALLBACK_OPTIONS  option)
pure virtual

设置弱网条件下订阅的音视频流回退选项。

参数
option0: 不回退 1: 小流 2: 声音
返回
0 成功

◆ setRemoteVideoStreamType()

virtual int rtc::IRTCEngine::setRemoteVideoStreamType ( UserId  uid,
rtc::REMOTE_VIDEO_STREAM_TYPE  streamType 
)
pure virtual

设置接收远端用户流类型

参数
uid: 远端用户ID,streamType: 流类型,
REMOTE_VIDEO_STREAM_HIGH 表示高质量流,
REMOTE_VIDEO_STREAM_LOW 表示低质量流
返回
- 0: 成功. - < 0: 失败.

◆ applyRemoteStreamSubscribeAdvice()

virtual int rtc::IRTCEngine::applyRemoteStreamSubscribeAdvice ( UserId  userId,
rtc::SUBSCRIPTION_STREAM_TYPE  streamType 
)
pure virtual

设置目标拉流的流类型

参数
uid目标用户id
streamType流类型 0: 大流 1: 小流 2: 音频
返回

◆ adjustPlaybackSignalVolume()

virtual int rtc::IRTCEngine::adjustPlaybackSignalVolume ( int  volume)
pure virtual

调节本地播放的所有远端用户音量

参数
volume: 0 : 关闭
100: 原始音量
400:4倍原始音量
返回
- 0: 成功. < 0: 失败.

◆ setBusinessUserRole()

virtual int rtc::IRTCEngine::setBusinessUserRole ( rtc::BUSI_USER_ROLE  role)
pure virtual

设置本端业务角色

参数
role: BUSI_USER_ROLE_STUDENT : 学生
BUSI_USER_ROLE_TEACHER : 主讲
BUSI_USER_ROLE_TUTOR :辅导
返回
- 0: 成功. - < 0: 失败.

◆ parseToken()

virtual bool rtc::IRTCEngine::parseToken ( const char *  token,
uint64_t &  channelId,
uint64_t &  userId 
)
pure virtual

解析token

参数
token: 输入token
channelId : 房间号
userId: 用户ID
返回
true: 成功
false: 失败.

◆ setRotationApplied()

virtual int rtc::IRTCEngine::setRotationApplied ( bool  bRotation)
pure virtual

设置接收远端用户是否SDK旋转角度, 目前是轻直播专用

参数
bRotation: true: 需要SDK旋转(默认)
false:不需要SDK旋转
返回
- 0: 成功. < 0: 失败.

◆ setPlaybackAudioFrameParameters()

virtual int rtc::IRTCEngine::setPlaybackAudioFrameParameters ( int  sampleRate,
int  channel,
RAW_AUDIO_FRAME_OP_MODE_TYPE  mode,
int  samplesPerCall 
)
pure virtual

为 onPlaybackAudioFrame设置回调数据的格式

参数
sampleRate8000, 16000, 32000, 44100, or 48000 Hz.
channel1: 单声道, 2: 立体声
modemode
samplesPerCall每次返回采样点数
返回
int 0: 成功. - < 0: 失败.

◆ sendStreamMessage()

virtual int rtc::IRTCEngine::sendStreamMessage ( const char *  data,
size_t  length,
uint64_t  timestamp 
)
pure virtual

发送irc信息

参数
datairc数据
lengthdata长度, 最大1000
timestamp时间戳
返回
int 0: 成功. < 0: 失败.

◆ setRemoteUserPriority()

virtual int rtc::IRTCEngine::setRemoteUserPriority ( UserId  uid,
PRIORITY_TYPE  userPriority 
)
pure virtual

设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。
弱网下 SDK 会优先保证高优先级用户收到的流的质量。
仅允许将一名远端用户设为高优先级。
该方法需要在加入频道前调用。

参数
uid用户ID
userPriorityPRIORITY_HIGH 高优先级; PRIORITY_NORMAL 正常
返回
int 0: 成功. < 0: 失败.

◆ checkFeatureSupport()

virtual int rtc::IRTCEngine::checkFeatureSupport ( RTCFeature  feature)
pure virtual

引擎是否支持某种能力

参数
feature能力
返回
- 1: 支持. - 0: 不支持. - < 0: 错误.

◆ getEngineType()

virtual int rtc::IRTCEngine::getEngineType ( )
pure virtual

获取引擎类型

返回
- 1: 声网. - 7: 自研. - < 0: 错误.

◆ startChannelMediaRelay()

virtual int rtc::IRTCEngine::startChannelMediaRelay ( char *  srcToken,
char **  dstToken,
int  nDstCount 
)
pure virtual

开始跨房间推流,需要在加入房间后才可以调用

参数
srcToken推流token
dstToken目的房间token
nDstCount的房间token数量,最大是4
返回
int 0: 成功. < 0: 失败.

◆ updateChannelMediaRelay()

virtual int rtc::IRTCEngine::updateChannelMediaRelay ( char *  srcToken,
char **  dstToken,
int  nDstCount 
)
pure virtual

更新跨房间推流,在 startChannelMediaRelay 后才可以调用

参数
srcToken推流token
dstToken目的房间token
nDstCount目的房间token数量,最大是4
返回
int 0: 成功. < 0: 失败.

◆ stopChannelMediaRelay()

virtual int rtc::IRTCEngine::stopChannelMediaRelay ( )
pure virtual

停止跨房间推流

返回
int 0: 成功. < 0: 失败.

◆ initWithEngineInfo()

virtual RTC_RET_CODE rtc::IRTCEngine::initWithEngineInfo ( char *  token,
char *  appId,
unsigned int  userId,
int  engineType 
)
pure virtual

初始化Engine引擎

参数
tokentoken
appIdappId
userIduid
engineType引擎类型
返回
RTC_RET_CODE RTC_RET_CODE

◆ initWithChannelInfo()

virtual IRTCChannel * rtc::IRTCEngine::initWithChannelInfo ( char *  token,
char *  appId,
char *  channelId,
unsigned int  userId,
int  engineType 
)
pure virtual

初始化channnel引擎

参数
tokentoken
appIdappId
channelIdchannelId
userIduid
engineType引擎类型
返回
IRTCChannel* IRTCChannel*

◆ enableAudioVolumeIndication()

virtual bool rtc::IRTCEngine::enableAudioVolumeIndication ( int  interval)
pure virtual

启用用户音量提示。

参数
interval指定音量提示的时间间隔:
返回
true 成功
false 失败

◆ setCaptureResolution()

virtual void rtc::IRTCEngine::setCaptureResolution ( int  w,
int  h 
)
pure virtual

设置采集分辨率

参数
w
h

◆ setSubscribeOption()

virtual void rtc::IRTCEngine::setSubscribeOption ( bool  autoSubscribeAudio,
bool  autoSubscribeVideo 
)
pure virtual

设置是否自动订阅频道内所有远端音频、视频流

参数
autoSubscribeAudiotrue:订阅;fasle:不订阅
autoSubscribeVideotrue:订阅;fasle:不订阅

该类的文档由以下文件生成: