Public 成员函数 | |
TXLivePusher () | |
~TXLivePusher () | |
void | setListener (ITXLivePusherListener^ listener, IntPtr pUserData) |
array< String^> ^ | enumCameras () |
array< String^> ^ | micDevices () |
void | selectMicDevice (UInt32 index) |
UInt32 | micVolume () |
void | setMicVolume (UInt32 volume) |
UInt32 | micVolumeIndication () |
void | openMicTest () |
void | closeMicTest () |
void | openSystemVoiceInput (String^ szPlayerPath) |
void | closeSystemVoiceInput () |
void | setSystemVoiceInputVolume (int value) |
void | enableAudioPreprocess (TXEAudioPreprocessType preprocessType, bool enable) |
void | setAudioChannels (TXEAudioChannels channels) |
void | startAudioCapture (TXEAudioCaptureSrcType srcType) |
void | stopAudioCapture () |
bool | startPreview (TXEVideoCaptureSrcType srcType, IntPtr rendHwnd) |
void | updatePreview (IntPtr rendHwnd) |
void | stopPreview () |
Dictionary< IntPtr, String^> ^ | enumCaptureWindow () |
void | setScreenCaptureParam (IntPtr captureHwnd, Int32 x, Int32 y, Int32 width, Int32 height) |
int | captureVideoSnapShot (String^ filePath) |
bool | startPush (String^ url) |
void | stopPush () |
void | switchCamera (int cameraIndex) |
void | setMute (bool mute) |
void | setRenderMode (TXERenderMode mode) |
void | setRotation (TXEVideoRotation rotation) |
void | setVideoQualityParamPreset (TXEVideoQualityParamPreset paramType) |
void | setVideoResolution (TXEVideoResolution resolution) |
void | setBeautyStyle (TXEBeautyStyle beautyStyle, int beautyLevel, int whitenessLevel) |
void | setRenderYMirror (bool mirror) |
void | setOutputYMirror (bool mirror) |
void | setVideoBitRate (UInt32 bitrate) |
void | setAutoAdjustStrategy (TXEAutoAdjustStrategy strategy) |
void | setVideoBitRateMin (int videoBitrateMin) |
void | setVideoBitRateMax (int videoBitrateMax) |
void | setVideoFPS (UInt32 fps) |
void | setPauseVideo (bool pause) |
void | setNearestIP (bool enable) |
void | showDebugView (int showType) |
TXLivePusher | ( | ) |
~TXLivePusher | ( | ) |
析构函数,C::代码中要求显示调用Dispose函数,来触发托管C++类析构函数
int captureVideoSnapShot | ( | String^ | filePath | ) |
推流的图像截图到本地
filePath | 存储路径 |
void closeMicTest | ( | ) |
关闭麦克风测试
void closeSystemVoiceInput | ( | ) |
关闭系统声音采集(暂时不支持64位)
void enableAudioPreprocess | ( | TXEAudioPreprocessType | preprocessType, |
bool | enable | ||
) |
设置系统声音前处理模式 默认开启AEC、AGC、NS,如需要关闭回声消除enableAudioPreprocess(TXE_AUDIO_PRETREATMENT_AEC, false);
preprocessType | 参考 TXLiveTypeDef.h 中定义的 TXEAudioPreprocessType |
array<String^> ^ enumCameras | ( | ) |
枚举当前可用的摄像头,如果一台Windows同时安装了多个摄像头,那么此函数获取可用的摄像头数量和名称
Dictionary<IntPtr, String^> ^ enumCaptureWindow | ( | ) |
枚举当前的可以捕抓的窗口,如果桌面同时存在多个窗口,那么此函数获取可采集的窗口句柄
array<String^> ^ micDevices | ( | ) |
枚举当前可用的麦克风,如果一台Windows同时安装了多个麦克风,那么此函数获取可用的麦克风数量和名称
UInt32 micVolume | ( | ) |
查询已选择麦克风的音量
UInt32 micVolumeIndication | ( | ) |
查询已选择麦克风的能量值,指示音量的大小
void openMicTest | ( | ) |
打开麦克风测试
void openSystemVoiceInput | ( | String^ | szPlayerPath | ) |
打开系统声音采集(暂时不支持64位)
szPlayerPath | 播放器地址;如果用户此参数填空或不填,表示采集系统中的所有声音; 如果填入exe程序(如:酷狗、QQ音乐)所在路径, 将会启动此程序,并只采集此程序的声音; |
void selectMicDevice | ( | UInt32 | index | ) |
选择指定的麦克风作为录音设备,不调用该接口时,默认选择索引为0的麦克风
index | 麦克风设备的索引,要求index值小于 micDevices 接口的返回值的数组大小 |
void setAudioChannels | ( | TXEAudioChannels | channels | ) |
设置音频声道数
channels | 参考 TXLiveTypeDef.h 中定义的 TXEAudioChannels 枚举值,SDK 内部默认选择 TXE_AUDIO_CHANNELS_1 单声道 |
void setAutoAdjustStrategy | ( | TXEAutoAdjustStrategy | strategy | ) |
设置流控策略,即是否允许 SDK 根据当前网络情况调整视频码率,以避免网络上传速度不足导致的画面卡顿
strategy | 参考 TXLiveTypeDef.h 中定义的 TXEAutoAdjustStrategy 枚举值 |
void setBeautyStyle | ( | TXEBeautyStyle | beautyStyle, |
int | beautyLevel, | ||
int | whitenessLevel | ||
) |
设置美颜和美白效果
beautyStyle | 参考 TXLiveTypeDef.h 中定义的 TXEBeautyStyle 枚举值 |
beautyLevel | 美颜级别取值范围 1 ~ 9; 0 表示关闭,1 ~ 9值越大,效果越明显 |
whitenessLevel | 美白级别取值范围 1 ~ 9; 0 表示关闭,1 ~ 9值越大,效果越明显 |
void setListener | ( | ITXLivePusherListener^ | listener, |
IntPtr | pUserData | ||
) |
设置回调 TXLivePusher 的回调代理,监听推流事件、以及获取音视频数据
listener | ITXLivePusherListener 类型的接口类 |
pUserData | 一般情况下传 NULL 就可以了,透传用户数据到 ITXLivePusherCallback 的回调函数 |
void setMicVolume | ( | UInt32 | volume | ) |
设置已选择麦克风的音量
volume | 设置的音量大小,范围是[0, 65535] |
void setMute | ( | bool | mute | ) |
静音接口
mute | 是否静音 |
void setNearestIP | ( | bool | enable | ) |
设置是否就近选路
enable | true表示启用,false表示禁用,SDK 默认为true |
void setOutputYMirror | ( | bool | mirror | ) |
设置推流画面的镜像效果
mirror | true表示画面左右反转,false表示保持原样 |
void setPauseVideo | ( | bool | pause | ) |
设置视频暂停
void setRenderMode | ( | TXERenderMode | mode | ) |
设置图像的渲染(填充)模式
mode | 参考 TXLiveTypeDef.h 中定义的 TXERenderMode 枚举值 |
void setRenderYMirror | ( | bool | mirror | ) |
设置预览渲染的镜像效果
mirror | true表示画面左右反转,false表示保持原样 |
void setRotation | ( | TXEVideoRotation | rotation | ) |
设置图像的顺时针旋转角度
rotation | 参考 TXLiveTypeDef.h 中定义的 TXEVideoRotation 枚举值 |
void setScreenCaptureParam | ( | IntPtr | captureHwnd, |
Int32 | x, | ||
Int32 | y, | ||
Int32 | width, | ||
Int32 | height | ||
) |
屏幕区域捕抓参数设置接口,startPreview(srcType = TXE_VIDEO_SRC_SDK_SCREEN..)前调用,默认捕抓整个主屏幕
captureHwnd | 指定捕抓窗口,如果captureHwnd不为NULL时,捕抓整个captureHwnd窗口大小,此时captureRect设置会失效, 如果captureHwnd为NULL时,则captureRect有效,捕抓主屏幕指定的区域:captureRect |
x | 被捕抓窗口区域的坐标x,以左上角为准 |
y | 被捕抓窗口区域的坐标y,以左上角为准 |
width | 被捕抓窗口区域的宽度 |
height | 被捕抓窗口区域的高度 |
void setSystemVoiceInputVolume | ( | int | value | ) |
设置系统声音采集的音量(暂时不支持64位)
value | 设置目标音量,取值范围[0,100] |
void setVideoBitRate | ( | UInt32 | bitrate | ) |
设置视频码率,注意,不是分辨率越高画面越清晰,是码率越高画面越清晰
bitrate | 视频码率,单位 kbps, 比如 640x360 分辨率需要配合 800kbps 的视频码率 |
void setVideoBitRateMax | ( | int | videoBitrateMax | ) |
配合 setAutoAdjustStrategy 使用,当 AutoAdjust 策略指定为 TXE_AUTO_ADJUST_NONE 时,该函数调用均视为无效
videoBitrateMax | 允许 SDK 输出的最小视频码率, 比如 640x360 分辨率下这个值适合设置为 1000kbps |
void setVideoBitRateMin | ( | int | videoBitrateMin | ) |
配合 setAutoAdjustStrategy 使用,当 AutoAdjust 策略指定为 TXE_AUTO_ADJUST_NONE 时,该函数调用均视为无效
videoBitrateMin | 允许 SDK 输出的最小视频码率,比如 640x360 分辨率下这个值适合设置为 300kbps |
void setVideoFPS | ( | UInt32 | fps | ) |
设置视频帧率
fps | 视频帧率,默认值为15,重启后生效 |
void setVideoQualityParamPreset | ( | TXEVideoQualityParamPreset | paramType | ) |
推流的画面质量预设选项
paramType | 预设类型,参考 TXLiveTypeDef.h 中定义的 TXEVideoQualityParamPreset 枚举值 |
void setVideoResolution | ( | TXEVideoResolution | resolution | ) |
设置视频分辨率
resolution | 视频分辨率,参考 TXLiveTypeDef.h 中定义的 TXEVideoResolution 枚举值 |
void showDebugView | ( | int | showType | ) |
显示仪表盘(状态统计和事件消息浮层view),方便调试
showType | 0: 不显示 1: 显示精简版 2: 显示全量版 |
void startAudioCapture | ( | TXEAudioCaptureSrcType | srcType | ) |
启动音频采集,SDK内部采用48K采样率,单声道,16位宽,实现很低延迟的实时音频通话的效果
srcType | 音频数据源类型 |
bool startPreview | ( | TXEVideoCaptureSrcType | srcType, |
IntPtr | rendHwnd | ||
) |
启动视频源预览
srcType | 参考 TXLiveTypeDef.h 中定义的 TXEVideoCaptureSrcType 枚举值 |
rendHwnd | 承载预览画面的 HWND,rendHwnd = null时无需预览视频 |
dataFormat | srcType指定为TXE_VIDEO_SRC_USER_DATA时生效,指定传入视频数据的格式 |
bool startPush | ( | String^ | url | ) |
启动推流 (在 startPush 之前需要先 startPreview 启动摄像头预览,否则推送出去的数据流里只有音频)
url | 合法的推流地址,腾讯云的推流 URL 都要求带有 txSecret 和 txTime 防盗链签名,如果您发现推流推不上去,请检查这两个签名是否合法 |
void stopAudioCapture | ( | ) |
关闭音频采集
void stopPreview | ( | ) |
关闭摄像头预览,stopPush 之前调用此函数并不会停止推流,会导致 SDK 只推送音频数据
void stopPush | ( | ) |
停止推流,注意推流 url 有排他性,也就是一个推流 Url 同时只能有一个推流端向上推流 若通过 startPreview 接口开启了预览,在调用这个接口前,请先调用 stopPreview 接口
void switchCamera | ( | int | cameraIndex | ) |
切换摄像头,支持在推流中动态切换
cameraIndex | 摄像头需要,取值返回: 0 ~ (摄像头个数 - 1) |
指定要开启哪个摄像头的预览,如果只有一个摄像头,则设置为 0 ,否则,需要先用 enumCameras 获取 cameraIndex cameraIndex == 0 表示打开当前可用的第一个摄像头 cameraIndex == 1 表示打开当前可用的第二个摄像头 ... ... cameraIndex == -1 表示打开当前可用的全部摄像头,但是预览的是第一个,通过 switchCamera 来切换摄像头 Windows 下开启一个 USB 摄像头需要很长的电路和驱动启动时间(一般需要 1 - 3 秒),所以,如果您要实现较好的切换效果 推荐的做法是:switchCamera 时指定 cameraIndex 为 - 1 来打开全部摄像头 ,后续用 switchCamera 实现瞬间切换摄像头
void updatePreview | ( | IntPtr | rendHwnd | ) |
重设摄像头预览区域,当您指定的 HWND 的窗口尺寸发生变化时,可以通过这个函数重新调整视频渲染区域
rendHwnd | 承载预览画面的 HWND |