JCSDK-C#
|
用于管理摄像头、扬声器等设备 更多...
Public 成员函数 | |
JCMediaDeviceVideoCanvas | StartCameraVideo (JCMediaDeviceCamera camera, JCMediaDeviceRenderMode mode) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示 更多... | |
JCMediaDeviceVideoCanvas | StartCameraVideo (JCMediaDeviceCamera camera, JCMediaDeviceRenderMode mode, ZmfBitmap.ResizeHandler resize, ZmfBitmap.RotateHandler rotate) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示 更多... | |
JCMediaDeviceVideoCanvas | StartCameraVideo (string cameraId, JCMediaDeviceRenderMode mode) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示 更多... | |
JCMediaDeviceVideoCanvas | StartVideo (string videoSource, JCMediaDeviceRenderMode mode) |
开始其他端的视频渲染 获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示 更多... | |
JCMediaDeviceVideoCanvas | StartVideo (string videoSource, JCMediaDeviceRenderMode mode, ZmfBitmap.ResizeHandler resize, ZmfBitmap.RotateHandler rotate) |
开始其他端的视频渲染 获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示 更多... | |
void | StopVideo (JCMediaDeviceVideoCanvas canvas) |
停止视频渲染 更多... | |
bool | StartAudio () |
启动音频,一般正式开启通话前需要调用此接口 更多... | |
bool | StopAudio () |
停止音频,一般在通话结束时调用 更多... | |
bool | StartSelfHelpRecord (string recordPath, string cameraId) |
开始自助双录 更多... | |
bool | StartSelfHelpRecord (string recordPath, string cameraId, int width, int height, int fps, int bitrate) |
开始自助双录 更多... | |
bool | AttachSelfHelpRecordCaptureSource (string capture) |
将新一路视频流合并到录制文件,需跟StartSelfHelpRecord配合使用 更多... | |
bool | DetachSelfHelpRecordCaptureSource (string capture) |
解除录制中的一路视频,需跟AttachSelfHelpRecordCaptureSource配合使用 更多... | |
bool | StopSelfHelpRecord () |
关闭自助双录 更多... | |
bool | EnableLoopback (bool enable) |
操作loopback采集 更多... | |
bool | StartInput (JCMediaDeviceInput input) |
打开输入设备 更多... | |
bool | StopInput (JCMediaDeviceInput input) |
关闭输入设备 更多... | |
bool | StartOutput (JCMediaDeviceOutput output) |
打开输出设备 更多... | |
bool | StopOutput () |
关闭输出设备 更多... | |
bool | StartCamera (string cameraId) |
开启摄像头 更多... | |
bool | StartCamera (JCMediaDeviceCamera camera) |
开启摄像头 更多... | |
bool | StopCamera () |
关闭摄像头 更多... | |
bool | StopCamera (string cameraID) |
关闭指定的摄像头 更多... | |
bool | SwitchCamera (JCMediaDeviceCamera camera) |
切换摄像头 内部会根据当前摄像头类型来进行切换 更多... | |
void | SetCameraProperty (int width, int height, int framerate) |
设定摄像头分辨率 在调用StartCamera 接口之前调用才会生效 更多... | |
void | SetScreenCaptureProperty (int width, int height, int framerate) |
设置屏幕桌面共享采集属性 在调用 EnableScreenOrWindowsShare 方法开启屏幕共享前设置即可生效 更多... | |
bool | EnableScreenOrWindowCapture (bool enable, string videoSource) |
开启关闭桌面或窗口采集 更多... | |
bool | EnableScreenOrWindowsAreaCapture (bool enable, string captureId, int iFrameRate, int top, int bottom, int left, int right) |
开启关闭区域共享 更多... | |
bool | StartVideoFile () |
开启视频文件作为视频输入源 文件和摄像头作为视频输入源只能存在一种,当前摄像头开启的话会关闭摄像头 更多... | |
void | SetVideoFileFrame (byte[] srcFrame, JCMediaDeviceVideoPixelFormat format, int width, int height) |
逐帧采集视频画面 更多... | |
bool | StopVideoFile () |
关闭逐帧采集画面 更多... | |
bool | SnapshotWithRenderId (string renderId, string path) |
截图 更多... | |
bool | SnapshotWithRenderId (string renderId, string path, int width, int height) |
截图 更多... | |
Dictionary< string, string > | GetVersion () |
SDK版本信息 更多... | |
bool | StartFileRecordVideo (string recordPath, string cameraId, int width, int height) |
本地录制 更多... | |
void | StopFileRecord (string cameraId) |
停止本地录制 更多... | |
静态 Public 成员函数 | |
static JCMediaDevice | Create (JCClient.JCClient client, JCMediaDeviceCallback callback) |
创建JCMediaDevice实例 JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用 更多... | |
static JCMediaDevice | Create (JCMediaDeviceCallback callback) |
创建JCMediaDevice实例 JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用 更多... | |
static void | Destroy () |
销毁 JCMediaDevice实例 该方法为同步调用,需要等待 JCMediaDevice 实例资源释放后才能执行其他方法,调用此方法后,你将无法再使用 JCMediaDevice 的其他方法和回调 我们不建议在 JCSDK 的回调中调用此方法销毁 JCMediaDevice 对象,否则会引起崩溃 如需在销毁后再次创建 JCMediaDevice 实例,需要等待Destroy 方法执行结束后再创建实例 更多... | |
属性 | |
string | VideoFileId [get] |
共享视频文件时的captureId 更多... | |
List< JCMediaDeviceInput > | AudioInputs [get] |
获取当前音频输入设备 更多... | |
JCMediaDeviceOutput | AudioOutput [get] |
获取当前音频输出设备 更多... | |
bool | CameraOpen [get] |
摄像头是否打开 更多... | |
bool | VideoFileOpen [get] |
是否在采集视频文件 更多... | |
JCMediaDeviceCamera | Camera [get] |
当前摄像头 更多... | |
List< JCMediaDeviceCamera > | Cameras [get] |
当前打开的摄像头列表(支持多摄像头采集) 更多... | |
JCMediaDeviceInput | DefaultInput [get, set] |
默认输入设备 更多... | |
JCMediaDeviceOutput | DefaultOutput [get, set] |
默认输出设备 更多... | |
List< JCMediaDeviceCamera > | CameraDevices [get] |
摄像头列表 更多... | |
List< JCMediaDeviceInput > | AudioInputDevices [get] |
音频输入设备列表 更多... | |
List< JCMediaDeviceOutput > | AudioOutputDevices [get] |
音频输出设备列表 更多... | |
List< JCMediaDeviceWindow > | WindowsDevices [get] |
窗口列表 更多... | |
List< JCMediaDeviceDesktop > | DesktopDevices [get] |
桌面列表 更多... | |
用于管理摄像头、扬声器等设备
bool JCSDK.JCMediaDevice.JCMediaDevice.AttachSelfHelpRecordCaptureSource | ( | string | capture | ) |
|
static |
创建JCMediaDevice实例 JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
client | JCClient实例 |
callback | JCMediaDeviceCallback回调函数,用于接收JCMediaDevice相关事件 |
|
static |
创建JCMediaDevice实例 JCMediaDevice 的所有接口函数,如无特殊说明,都建议在主线程调用
调用此方法创建 JCMediaDevice 对象后,期间没有调用过Destroy方法销毁对象,然后又重复调用此方法,会直接返回第一次创建的 JCMediaDevice 对象
callback | JCMediaDeviceCallback回调函数,用于接收JCMediaDevice相关事件 |
|
static |
销毁 JCMediaDevice实例 该方法为同步调用,需要等待 JCMediaDevice 实例资源释放后才能执行其他方法,调用此方法后,你将无法再使用 JCMediaDevice 的其他方法和回调 我们不建议在 JCSDK 的回调中调用此方法销毁 JCMediaDevice 对象,否则会引起崩溃 如需在销毁后再次创建 JCMediaDevice 实例,需要等待Destroy 方法执行结束后再创建实例
bool JCSDK.JCMediaDevice.JCMediaDevice.DetachSelfHelpRecordCaptureSource | ( | string | capture | ) |
bool JCSDK.JCMediaDevice.JCMediaDevice.EnableLoopback | ( | bool | enable | ) |
操作loopback采集
enable | 是否打开 |
bool JCSDK.JCMediaDevice.JCMediaDevice.EnableScreenOrWindowCapture | ( | bool | enable, |
string | videoSource | ||
) |
开启关闭桌面或窗口采集
enable | 打开或关闭桌面或窗口共享
|
videoSource | 窗口id或屏幕id |
bool JCSDK.JCMediaDevice.JCMediaDevice.EnableScreenOrWindowsAreaCapture | ( | bool | enable, |
string | captureId, | ||
int | iFrameRate, | ||
int | top, | ||
int | bottom, | ||
int | left, | ||
int | right | ||
) |
开启关闭区域共享
enable | 开启或是关闭 |
captureId | 窗口或者屏幕的id |
iFrameRate | 帧率 |
top | 上边距 |
bottom | 下边距 |
left | 左边距 |
right | 右边距 |
Dictionary<string, string> JCSDK.JCMediaDevice.JCMediaDevice.GetVersion | ( | ) |
SDK版本信息
void JCSDK.JCMediaDevice.JCMediaDevice.SetCameraProperty | ( | int | width, |
int | height, | ||
int | framerate | ||
) |
设定摄像头分辨率 在调用StartCamera 接口之前调用才会生效
width | 摄像头分辨率宽 |
height | 摄像头分辨率高 |
framerate | 帧速率 |
void JCSDK.JCMediaDevice.JCMediaDevice.SetScreenCaptureProperty | ( | int | width, |
int | height, | ||
int | framerate | ||
) |
设置屏幕桌面共享采集属性 在调用 EnableScreenOrWindowsShare 方法开启屏幕共享前设置即可生效
width | 采集宽度 |
height | 采集高度 |
framerate | 帧速率 |
void JCSDK.JCMediaDevice.JCMediaDevice.SetVideoFileFrame | ( | byte[] | srcFrame, |
JCMediaDeviceVideoPixelFormat | format, | ||
int | width, | ||
int | height | ||
) |
逐帧采集视频画面
当为 H264 格式时
srcFrame | 画面二进制数据 |
format | 视频像素格式 |
width | 宽 |
height | 高 |
bool JCSDK.JCMediaDevice.JCMediaDevice.SnapshotWithRenderId | ( | string | renderId, |
string | path | ||
) |
截图
renderId | 要截图的视频id |
path | 要存放的文件路径 |
bool JCSDK.JCMediaDevice.JCMediaDevice.SnapshotWithRenderId | ( | string | renderId, |
string | path, | ||
int | width, | ||
int | height | ||
) |
截图
renderId | 要截图的视频id |
path | 要存放的文件路径 |
width | 宽度 |
height | 高度 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartAudio | ( | ) |
启动音频,一般正式开启通话前需要调用此接口
bool JCSDK.JCMediaDevice.JCMediaDevice.StartCamera | ( | JCMediaDeviceCamera | camera | ) |
开启摄像头
camera | 要开启的摄像头 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartCamera | ( | string | cameraId | ) |
开启摄像头
cameraId | 摄像头id |
JCMediaDeviceVideoCanvas JCSDK.JCMediaDevice.JCMediaDevice.StartCameraVideo | ( | JCMediaDeviceCamera | camera, |
JCMediaDeviceRenderMode | mode | ||
) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
camera | 摄像头对象 |
mode | 渲染方式 |
JCMediaDeviceVideoCanvas JCSDK.JCMediaDevice.JCMediaDevice.StartCameraVideo | ( | JCMediaDeviceCamera | camera, |
JCMediaDeviceRenderMode | mode, | ||
ZmfBitmap.ResizeHandler | resize, | ||
ZmfBitmap.RotateHandler | rotate | ||
) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
camera | 摄像头对象 |
mode | 渲染方式 |
resize | 渲染参数 |
rotate | 渲染参数 |
JCMediaDeviceVideoCanvas JCSDK.JCMediaDevice.JCMediaDevice.StartCameraVideo | ( | string | cameraId, |
JCMediaDeviceRenderMode | mode | ||
) |
开始自身视频渲染 获取本端视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
cameraId | 摄像头id |
mode | 渲染方式 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartFileRecordVideo | ( | string | recordPath, |
string | cameraId, | ||
int | width, | ||
int | height | ||
) |
本地录制
recordPath | 视频保存路径 |
cameraId | 视频流id |
width | 视频宽 |
height | 视频高 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartInput | ( | JCMediaDeviceInput | input | ) |
打开输入设备
input | 输入设备 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartOutput | ( | JCMediaDeviceOutput | output | ) |
打开输出设备
output | 输出设备 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartSelfHelpRecord | ( | string | recordPath, |
string | cameraId | ||
) |
开始自助双录
recordPath | 生成的录制文件路径 |
cameraId | cameraId |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartSelfHelpRecord | ( | string | recordPath, |
string | cameraId, | ||
int | width, | ||
int | height, | ||
int | fps, | ||
int | bitrate | ||
) |
开始自助双录
recordPath | 生成的录制文件路径 |
cameraId | cameraId |
width | 宽 |
height | 高 |
fps | fps |
bitrate | 码率 |
JCMediaDeviceVideoCanvas JCSDK.JCMediaDevice.JCMediaDevice.StartVideo | ( | string | videoSource, |
JCMediaDeviceRenderMode | mode | ||
) |
开始其他端的视频渲染 获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
videoSource | 渲染标识串,比如 JCMediaChannelParticipant JCCallItem 中的 renderId,当videoSource 为 videoFileId 时,内部会调用 startVideoFile |
mode | 渲染模式 |
JCMediaDeviceVideoCanvas JCSDK.JCMediaDevice.JCMediaDevice.StartVideo | ( | string | videoSource, |
JCMediaDeviceRenderMode | mode, | ||
ZmfBitmap.ResizeHandler | resize, | ||
ZmfBitmap.RotateHandler | rotate | ||
) |
开始其他端的视频渲染 获取其他端的视频预览对象 JCMediaDeviceVideoCanvas ,通过此对象能获得视图用于UI显示
videoSource | 渲染标识串,比如 JCMediaChannelParticipant JCCallItem 中的 renderId,当videoSource 为 videoFileId 时,内部会调用 startVideoFile |
mode | 渲染模式 |
resize | 渲染参数 |
rotate | 渲染参数 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StartVideoFile | ( | ) |
开启视频文件作为视频输入源 文件和摄像头作为视频输入源只能存在一种,当前摄像头开启的话会关闭摄像头
bool JCSDK.JCMediaDevice.JCMediaDevice.StopAudio | ( | ) |
停止音频,一般在通话结束时调用
bool JCSDK.JCMediaDevice.JCMediaDevice.StopCamera | ( | ) |
关闭摄像头
bool JCSDK.JCMediaDevice.JCMediaDevice.StopCamera | ( | string | cameraID | ) |
关闭指定的摄像头
void JCSDK.JCMediaDevice.JCMediaDevice.StopFileRecord | ( | string | cameraId | ) |
停止本地录制
cameraId | 视频流id |
bool JCSDK.JCMediaDevice.JCMediaDevice.StopInput | ( | JCMediaDeviceInput | input | ) |
关闭输入设备
bool JCSDK.JCMediaDevice.JCMediaDevice.StopOutput | ( | ) |
关闭输出设备
bool JCSDK.JCMediaDevice.JCMediaDevice.StopSelfHelpRecord | ( | ) |
关闭自助双录
void JCSDK.JCMediaDevice.JCMediaDevice.StopVideo | ( | JCMediaDeviceVideoCanvas | canvas | ) |
停止视频渲染
canvas | JCMediaDeviceVideoCanvas对象,由StartVideo 和StartCameraVideo 获得 |
bool JCSDK.JCMediaDevice.JCMediaDevice.StopVideoFile | ( | ) |
关闭逐帧采集画面
bool JCSDK.JCMediaDevice.JCMediaDevice.SwitchCamera | ( | JCMediaDeviceCamera | camera | ) |
切换摄像头 内部会根据当前摄像头类型来进行切换
camera | 要切换的摄像头 |
|
get |
音频输入设备列表
|
get |
获取当前音频输入设备
|
get |
获取当前音频输出设备
|
get |
音频输出设备列表
|
get |
当前摄像头
|
get |
摄像头列表
|
get |
摄像头是否打开
|
get |
当前打开的摄像头列表(支持多摄像头采集)
|
getset |
默认输入设备
|
getset |
默认输出设备
|
get |
桌面列表
|
get |
共享视频文件时的captureId
|
get |
是否在采集视频文件
|
get |
窗口列表