API Reference for windows - IRTCChannel

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

Public 成员函数

virtual ~IRTCChannel ()
 
virtual const char * channelId ()=0
 
virtual void release ()=0
 
virtual int joinChannel ()=0
 
virtual int leaveChannel ()=0
 
virtual bool setClientRole (CLIENT_ROLE_TYPE roleType)=0
 
virtual bool muteRemoteVideoStream (UserId userId, bool mute)=0
 
virtual bool muteRemoteAudioStream (UserId userId, bool mute)=0
 
virtual void registerChannelEventHandler (IRTCChannelEventHandler *eventHandler)=0
 
virtual bool muteAllRemoteVideoStreams (bool mute)=0
 
virtual bool muteAllRemoteAudioStreams (bool mute)=0
 
virtual int muteLocalVideoStream (bool mute)=0
 
virtual int muteLocalAudioStream (bool mute)=0
 
virtual bool getCurSeiTimestamp (uint64_t &seiTime)=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 startChannelMediaRelay (char *srcToken, char **dstToken, int nDstCount)=0
 
virtual int updateChannelMediaRelay (char *srcToken, char **dstToken, int nDstCount)=0
 
virtual int stopChannelMediaRelay ()=0
 
virtual int addPublishStreamUrl (const char *url, bool transcodingEnabled)=0
 
virtual int removePublishStreamUrl (const char *url)=0
 
virtual int setLiveTranscoding (const Stru_RtmpLiveTranscoding &transcoding)=0
 
virtual bool sendSeiTimestamp (uint64_t seiTime)=0
 
virtual int sendStreamMessage (const char *data, size_t length, uint64_t timestamp)=0
 
virtual void setSubscribeOption (bool autoSubscribeAudio, bool autoSubscribeVideo)=0
 

构造及析构函数说明

◆ ~IRTCChannel()

virtual rtc::IRTCChannel::~IRTCChannel ( )
virtual

成员函数说明

◆ channelId()

virtual const char * rtc::IRTCChannel::channelId ( )
pure virtual

获取当前房间的channelId

返回
const char* 返回当前房间的channelId

◆ release()

virtual void rtc::IRTCChannel::release ( )
pure virtual

释放该channel对象的内存 如果关注 onLeaveChannel 的回调,需要调用 leaveChannel 的回调,后等待onLeaveChannel 的回调,收到后再release channel资源

◆ joinChannel()

virtual int rtc::IRTCChannel::joinChannel ( )
pure virtual

通过token 获取 IRTCChannel 对象后,可以加入房间

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

◆ leaveChannel()

virtual int rtc::IRTCChannel::leaveChannel ( )
pure virtual

离开房间,离开房间后自动不再接收音视频数据

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

◆ setClientRole()

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

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

参数
roleType角色类型 详见: CLIENT_ROLE_TYPE
返回
true
false

◆ muteRemoteVideoStream()

virtual bool rtc::IRTCChannel::muteRemoteVideoStream ( UserId  userId,
bool  mute 
)
pure virtual

设置是否接收该房间内某个用户的视频数据

参数
userId需要设置的用户id
mutetrue: 不再接收该uid的视频数据, false:接收该Uid的视频数据
返回
true:成功
false:失败

◆ muteRemoteAudioStream()

virtual bool rtc::IRTCChannel::muteRemoteAudioStream ( UserId  userId,
bool  mute 
)
pure virtual

设置是否接收该房间内某个用户的音频数据

参数
userId需要设置的用户id
mutetrue: 不再接收该uid的音频数据, false:接收该Uid的音频数据
返回
true:成功
false:失败

◆ registerChannelEventHandler()

virtual void rtc::IRTCChannel::registerChannelEventHandler ( IRTCChannelEventHandler eventHandler)
pure virtual

注册channel对象的回调函数,用于接收该房间内的一些状态

参数
eventHandler要注册的对象

◆ muteAllRemoteVideoStreams()

virtual bool rtc::IRTCChannel::muteAllRemoteVideoStreams ( bool  mute)
pure virtual

关闭channel房间内所有的视频流

参数
mutetrue:不接收 false:接收
返回
true:成功
false:失败

◆ muteAllRemoteAudioStreams()

virtual bool rtc::IRTCChannel::muteAllRemoteAudioStreams ( bool  mute)
pure virtual

静音channel房间内所有的音频流

参数
mutetrue:不接收; false:接收
返回
true:成功
false:失败

◆ muteLocalVideoStream()

virtual int rtc::IRTCChannel::muteLocalVideoStream ( bool  mute)
pure virtual

取消或恢复发布本地视频流。

参数
mutetrue:取消发布;false:发布
返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ muteLocalAudioStream()

virtual int rtc::IRTCChannel::muteLocalAudioStream ( bool  mute)
pure virtual

取消或恢复发布本地音频流。

参数
mutetrue:取消发布;false:发布
返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ getCurSeiTimestamp()

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

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

参数
seiTime
返回
true 成功
false 失败

◆ setRemoteVideoStreamType()

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

设置接收远端用户流类型

参数
uid远端用户ID
streamType流类型 详见: REMOTE_VIDEO_STREAM_TYPE
返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ applyRemoteStreamSubscribeAdvice()

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

设置目标拉流的流类型

参数
uid目标用户id
streamType流类型 详见: SUBSCRIPTION_STREAM_TYPE
返回
int 0: 方法调用成功;<0: 方法调用失败。

◆ startChannelMediaRelay()

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

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

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

◆ updateChannelMediaRelay()

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

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

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

◆ stopChannelMediaRelay()

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

停止跨房间推流

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

◆ addPublishStreamUrl()

virtual int rtc::IRTCChannel::addPublishStreamUrl ( const char *  url,
bool  transcodingEnabled 
)
pure virtual

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

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

◆ removePublishStreamUrl()

virtual int rtc::IRTCChannel::removePublishStreamUrl ( const char *  url)
pure virtual

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

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

◆ setLiveTranscoding()

virtual int rtc::IRTCChannel::setLiveTranscoding ( const Stru_RtmpLiveTranscoding transcoding)
pure virtual

设置编码参数

参数
config
返回
true 成功
false 失败

◆ sendSeiTimestamp()

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

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

参数
seiTimeseiTime
返回
true 成功
false 失败

◆ sendStreamMessage()

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

发送irc信息

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

◆ setSubscribeOption()

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

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

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

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