API(c#)参考
初始化相关接口
brtc_create_client
void* brtc_create_client()
介绍
通过该接口创建 RTC client handle, 开发者可通过该接口返回的handle管理使用RTC SDK
参数
无
返回
返回 RTC client handle
brtc_set_rtc_config
void brtc_set_rtc_config(void *rtc_client, RtcConfig config)
介绍
开发者可通过该接口配置RTC SDK
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
config | RtcConfig | 具体配置 |
参数类型RtcConfig定义:
类型 | 属性 | 默认值 | 取值范围 | 说明 |
---|---|---|---|---|
bool | isOnlyPullStream | false | 可取值true,false | 是否仅拉视频流,用于监控等场景 |
int | h264GopSize | 3 | 取值大于0 | h264编码gop值设置 |
bool | isFrameDynamicBind | false | 可取值true,false | 是否动态创建视图 |
bool | isEnableMultistream | true | 可取值true,false | 是否使能多流模式 |
返回
空
brtc_destroy_client
void brtc_destroy_client(void *rtc_client)
介绍
开发者可通过该接口删除 brtc_create_client 创建的 RTC client hanle
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_init_sdk
void brtc_init_sdk(void *rtc_client, char* app_id, char* token, char* cer_path)
介绍
初始化SDK
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | rtc handle |
app_id | char* | 百度为App签发的 App ID, 用于识别应用, 全局唯一,详见创建应用 |
token | char* | 百度RTC服务端鉴权使用的密钥,可缺省,使用应用鉴权可使得服务更加安全。 详见应用鉴权 |
cer_path | char* | 证书路径,证书文件在SDK文件中放置 |
返回
空
brtc_deInit_sdk
void brtc_deInit_sdk(void *rtc_client)
介绍
在SDK使用完后,可调用该函数进行释放
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
房间相关接口
brtc_set_server_url
void brtc_set_server_url(void *rtc_client, char *server_url)
介绍
设置server地址
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
server_url | char* | server地址 |
返回
空
brtc_login_room
void brtc_login_room(void *rtc_client, char *room_name, char* user_id, char* token)
介绍
登录房间
登录房间成功后,用户可以发布流,或订阅流,并能通过brtc_set_message_arrival_callback接口获取房间内状态事件
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | 无 | RTC handle |
room_name | char* | 任意字符串,长度不超过255字节 | 房间名 |
user_id | char* | 大于0的数字类型字符串 | 用户ID, 每个房间的用户ID必须唯一 |
token | char* | 字符串 | 百度RTC服务端鉴权使用的密钥,可缺省,使用应用鉴权可使得服务更加安全。 详见应用鉴权 |
返回
空
brtc_logout_room
void brtc_logout_room(void *rtc_client)
介绍
退出房间
关闭媒体通道,关闭信令通道,释放内存资源,及销毁其他申请的资源
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_publish_streaming
void brtc_publish_streaming(void *rtcClient, bool is_auto_subscribe_stream)
介绍
发布流
流发布在指定的房间,在同一房间加入的用户可以相互订阅流,默认在发布流的同时,订阅在该房间其他用户的流;
参数
类型 | 参数 | 默认值 | 取值范围 |
---|---|---|---|
void* | rtc_client | 无 | 无 |
bool | is_auto_subscribe_stream | true | 取值true,false |
返回
空
brtc_publish_streaming_with_stream_id
void brtc_publish_streaming_with_stream_id(void *rtcClient, char* streamingIds[], int streamingNum)
介绍
发布流
发布在指定的房间,在同一房间加入的用户可以相互订阅流;该API可以指定要订阅的具体多条流或多个用户的流。
用于在预先知道远端用户UserId情况下指定订阅流,不订阅指定UserId外的其他流。
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
streamingIds | char*[] | 远端用户UserId列表 |
streamingNum | int | 订阅用户数目 |
返回
空
brtc_stop_publish_streaming
void brtc_stop_publish_streaming(void *rtc_client)
介绍
停止发布流
可通过该接口停止发布或订阅
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_subscribe_streaming
void brtc_subscribe_streaming(void *rtc_client, char *stream_id)
介绍
订阅流
用于订阅同一房间的其他用户的流
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | 无 | RTC handle |
stream_id | char* | 大于0的数字类型字符串 | 远端用户UserId |
返回
空
brtc_stop_subscribe_streaming
void brtc_stop_subscribe_streaming(void *rtc_client, char *stream_id)
介绍
停止订阅流
订阅的流可通过该接口停止订阅
参数
参数 | 类型 | 取值范围 |
---|---|---|
rtc_client | void* | 无 |
stream_id | char* | 大于0的数字类型字符串 |
返回
空
brtc_set_only_publish_audio
void brtc_set_only_publish_audio(void *rtc_client)
介绍
设置只发布音频流
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
设备参数相关接口
brtc_mute_camera
void brtc_mute_camera(void *rtc_client, bool is_mute)
介绍
关闭摄像头,停止画面预览及传输
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
is_mute | bool | 是否关闭摄像头 |
返回
空
brtc_mute_micphone
void brtc_mute_micphone(void *rtc_client, bool is_mute)
介绍
关闭麦克风,停止声音采集及传输
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
is_mute | bool | 是否关闭麦克风 |
返回
空
brtc_set_video_bitrate
void brtc_set_video_bitrate(void *rtc_client, int bit_rate)
介绍
设置视频码率
设置视频编码码率,该码率是最大码率,会随着网络变化做自适应的变化
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | 无 | RTC handle |
bit_rate | int | 大于0 | 视频码率,如想设置300kbps, 则bit_rate = 300*1024 |
返回
空
brtc_set_video_fps
void brtc_set_video_fps(void *rtc_client, int fps)
介绍
设置视频采集fps
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | 无 | RTC handle |
fps | int | 0 < fps <= 60 | 视频采集fps |
返回
空
brtc_set_video_resolution
void brtc_set_video_resolution(void *rtc_client, int width, int height)
介绍
设置视频分辨率
视频分辨率会随着网络状态自适应变化
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | RTC handle | |
width | int | 大于0 | 视频宽度 |
height | int | 大于0 | 视频高度 |
返回
空
brtc_set_video_mirror
void brtc_set_video_mirror(void *rtc_client, bool is_mirror)
介绍
设置本地视频镜像显示
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
is_mirror | bool | 是否开启镜像显示 |
返回
空
brtc_start_preview
void brtc_start_preview(void *rtc_client)
介绍
打开摄像头后,可开始画面预览
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_stop_preview
void brtc_stop_preview(void *rtc_client)
介绍
在开始预览后,可通过该接口停止预览
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_start_mic_recording
void brtc_start_mic_recording(void *rtc_client)
介绍
开始录制音频,提供于插拔麦克风后,启动采集,默认会自动开始采集
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
设备管理相关接口
brtc_get_audio_record_device_num
int brtc_get_audio_record_device_num(void *rtc_client)
介绍
通过该接口获取音频采集设备数目
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_get_audio_playout_device_num
int brtc_get_audio_playout_device_num(void *rtc_client)
介绍
通过该接口获取音频输出设备数目
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_get_audio_record_devices
void brtc_get_audio_record_devices(void *rtc_client, char * devNameList, int listLen, int maxNameLen)
介绍
通过该接口获取音频采集设备列表,列表中存储的是设备名
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
devNameList | char * | 存储具体的采集设备名 |
listLen | int | 设备列表长度 |
maxNameLen | int | 每个设备名的最大长度 |
返回
空
brtc_get_audio_playout_devices
void brtc_get_audio_playout_devices(void *rtc_client, char * devNameList, int listLen, int maxNameLen)
介绍
通过该接口获取音频输出设备列表,列表中存储的是设备名
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
devNameList | char* | 存储具体的音频输出设备名 |
listLen | int | 设备列表长度 |
maxNameLen | int | 每个设备名的最大长度 |
返回
空
brtc_set_auido_record_device
void brtc_set_auido_record_device(void *rtc_client, char * devName)
介绍
通过设备名,设置选取的音频采集设备
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
devName | char * | 欲设置的设备名 |
返回
空
brtc_set_auido_playout_device
void brtc_set_auido_playout_device(void *rtc_client, char * devName)
介绍
通过设备名,设置选取的音频播放输出设备
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
devName | char* | 欲设置的设备名 |
返回
空
回调相关接口
brtc_set_message_arrival_callback
void brtc_set_message_arrival_callback(void *rtc_client, MessageArrivalCallback msg_call_back)
介绍
设置消息到达回调
设置消息接收接口, 当有消息到达时,通过msg_call_back上报应用层
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
msg_call_back | MessageArrivalCallback | 需要应用层设置的callback |
返回
空
brtc_set_event_arrival_callback
void brtc_set_event_arrival_callback(void *rtc_client, EventArrivalCallback event_call_back)
介绍
设置事件到达回调
设置事件接收接口, 当有事件到达时,通过event_call_back上报应用层
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
event_call_back | EventArrivalCallback | 需要应用层设置的callback |
返回
空
brtc_set_video_arrival_callback
void brtc_set_video_arrival_callback(void *rtc_client, VideoArrivalCallback videoArrivalCb, int observerId)
介绍
设置视频帧到达回调
设置视频到达C#接口, 当有视频帧到达时,通过videoArrivalCb C#上报应用层, 应用层可对视频进行处理渲染等
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
videoArrivalCb | VideoArrivalCallback | 需要应用层设置的callback |
observerId | int | 视频帧id, 应用可以自己设定,便于底层SDK识别observer |
返回
空
brtc_set_preview_video_arrival_callback
void brtc_set_preview_video_arrival_callback(void *rtc_client, VideoArrivalCallback videoArrivalCb, int observerId)
介绍
设置预览视频帧到达回调
设置视频到达C#接口, 当有视频帧到达时,通过videoArrivalCb C#上报应用层, 应用层可对视频进行处理渲染等
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
videoArrivalCb | VideoArrivalCallback | 需要应用层设置的callback |
observerId | int | 视频帧观察着id, 应用可以自己设定,便于底层SDK识别observer |
返回
空
其他接口
brtc_send_message
void brtc_send_message(void *rtc_client, const char* message)
介绍
发送消息
可通过该接口发送文本消息到聊天室,房间的其他人能接收到所发消息
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
message | const char* | 准备发的消息 |
返回
空
brtc_get_sdk_version
char* brtc_get_sdk_version(void *rtc_client)
介绍
获取SDK版本号
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
SDK 版本号
brtc_enable_rtc_stats_info_dot
void brtc_enable_rtc_stats_info_dot(void *rtc_client, bool isEnable)
介绍
开启/关闭RTC信息打点
该接口用于控制RTC状态信息统计,并上传到Server
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
isEnable | bool | 为true时开启信息打点统计 |
返回
空
brtc_set_log_file
void brtc_set_log_file(void *rtc_client, char* filePath)
介绍
设置日志输出路径,默认在exe所在目录下
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
filePath | char* | 日志文件路径 |
返回
空
brtc_enable_rtc_logger
void brtc_enable_rtc_logger(void *rtc_client, bool isEnable)
介绍
开启/关闭日志功能
用于打开或关闭日志功能,若打开会在exe目录下保存RTC运行日志文件,若关闭将不进行日志文件保存。
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
isEnable | bool | 是否开启 |
返回
空
brtc_get_room_id
unsigned long long brtc_get_room_id(void *rtc_client)
介绍
获取当前房间号
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
当前房间roomId
屏幕/窗口分享相关接口
brtc_start_share_screen
void brtc_start_share_screen(void *rtc_client)
介绍
可通过该接口开启屏幕分享功能, 让其他用户看到你的屏幕操作,默认多屏幕下画面自动合并
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_start_share_screen_with_source
void brtc_start_share_screen_with_source(void *rtc_client, long long sourceId)
介绍
可通过该接口开启屏幕分享功能, 让其他用户看到你的屏幕操作;通过sourceId指定分享的屏幕。
可通过brtc_get_window_source_list 接口获取sourceId。
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
sourceId | long long | 屏幕序号,如0,1,2 |
返回
空
brtc_stop_share_screen
void brtc_stop_share_screen(void *rtc_client)
介绍
关闭屏幕分享功能
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_get_window_source_list
void* brtc_get_window_source_list(void *rtc_client, CaptureType type, int& length)
介绍
通过该接口获取可共享屏幕/窗口列表
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
type | CaptureType | 获取类型 |
length | int& | 返回列表长度 |
CaptureType类型说明:
- kScreen:屏幕采集
- kWindow:窗口采集
返回
返回窗口列表,可参考c# Demo工程解析
brtc_set_share_screen_mode
void brtc_set_share_screen_mode(void *rtc_client, ShareScreenMode type)
介绍
设置屏幕共享模式
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
type | ShareScreenMode | 共享类型 |
ShareScreenMode说明:
- kOnlyScreen:仅屏幕采集
- kWithPreviewVideo:屏幕采集同时,进行摄像头采集,可通过brtc_set_preview_video_arrival_callback接口可获取摄像头数据
返回
空
brtc_free_window_source_list
void brtc_free_window_source_list(void *rtc_client, void* sourceList, int length)
介绍
释放共享窗口列表
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
sourceList | void* | 要释放窗口列表 |
length | int | 列表长度 |
返回
空
brtc_start_share_window
void brtc_start_share_window(void *rtc_client, long long sourceId)
介绍
可通过该接口开启窗口分享功能, 让其他用户看到你的窗口操作,通过sourceId指定分享的窗口。
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
sourceId | long long | 窗口WinId,通过getWindowSourceList获取,或者外部获取后传入 |
返回
空
brtc_stop_share_window
void brtc_stop_share_window(void *rtc_client)
介绍
关闭窗口分享功能
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
声卡采集相关接口
brtc_enable_loopback_recording
void brtc_enable_loopback_recording(void *rtc_client, bool enabled)
介绍
开启声卡采集
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
返回
空
brtc_set_loopback_recording_volume
void brtc_set_loopback_recording_volume(void *rtc_client, int volume)
介绍
设置声卡采集音量
参数
参数 | 类型 | 取值范围 | 说明 |
---|---|---|---|
rtc_client | void* | 无 | RTC handle |
volume | int | 0-100 | 声卡采集音量 |
返回
空
brtc_set_loopback_recording_mute
void brtc_set_loopback_recording_mute(void *rtc_client, bool mute)
介绍
设置声卡采集静音
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
mute | bool | 是否设置采集静音 |
返回
空
转推相关接口
可将当前用户RTP 流转推为 RTMP 流,用于互娱、教育等场景
brtc_config_live_stream_with_url
void brtc_config_live_stream_with_url(void *rtc_client, char* url, bool is_mix,
bool is_recording, char* mix_template, RtcLiveTransferMode transfer_mode)
介绍
该接口用于配置server推流的参数;
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
url | char* | 转推RTMP地址 |
is_mix | bool | 是否混流 |
is_recording | bool | 是否录制 |
mix_template | char* | 转推RTMP模板 |
transfer_mode | RtcLiveTransferMode | 转推模式 |
RtcLiveTransferMode说明:
- RTC_LIVE_TRANSFER_MODE_ROOM_TRANSMISSION:聊天室模式,在同一个RTC房间的所有参与者在混流后,直接转推到一个指定的直播房间
- RTC_LIVE_TRANSFER_MODE_ANCHOR_TRANSMISSION:主播转推模式,主播推向不同的直播房间;进入房间前调用;
返回
空
brtc_start_live_server_streaming
void brtc_start_live_server_streaming(void *rtc_client, char* url, bool is_mix,
bool is_recording, char* mix_template, RtcLiveTransferMode transfer_mode)
介绍
启动动态转推功能,进入房间成功后调用。
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
url | char* | 转推RTMP地址 |
is_mix | bool | 是否混流 |
is_recording | bool | 是否录制 |
mix_template | char* | 转推RTMP模板 |
transfer_mode | RtcLiveTransferMode | 转推模式 |
RtcLiveTransferMode说明:
- RTC_LIVE_TRANSFER_MODE_ROOM_TRANSMISSION:聊天室模式,在同一个RTC房间的所有参与者在混流后,直接转推到一个指定的直播房间
- RTC_LIVE_TRANSFER_MODE_ANCHOR_TRANSMISSION:主播转推模式,主播推向不同的直播房间,进入房间前调用;
返回
空
brtc_stop_live_server_streaming
void brtc_stop_live_server_streaming(void *rtc_client, RtcLiveTransferMode transfer_mode)
介绍
停止动态转推功能
参数
参数 | 类型 | 说明 |
---|---|---|
rtc_client | void* | RTC handle |
transfer_mode | RtcLiveTransferMode | 转推模式 |
RtcLiveTransferMode说明:
- RTC_LIVE_TRANSFER_MODE_ROOM_TRANSMISSION:聊天室模式,在同一个RTC房间的所有参与者在混流后,直接转推到一个指定的直播房间
- RTC_LIVE_TRANSFER_MODE_ANCHOR_TRANSMISSION:主播转推模式,主播推向不同的直播房间;进入房间前调用;
返回
空