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 |