视频开发技术 视频设备枚举 C#
来源:互联网 发布:钱宇平 知乎 编辑:程序博客网 时间:2024/05/20 14:25
由于小编之前使用过BR_Chat的音视频解决方案作视频会议系统开发,所以这里也就以当时的环境和处理机制简单做一个介绍。
1、BR_Chat-枚举本地视频采集设备-方法概述:
DWORD BRAC_EnumVideoCapture(TCHAR** lpDeviceName, DWORD&
dwDeviceNum);
功能:枚举本地视频采集设备
返回值:0 表示成功,否则为出错代码
参数:
lpDeviceName
视频设备名称,可为空,表示只获取设备数量;
dwDeviceNum
视频设备数量;
备注:
该方法将会在内部分配缓冲区,外部使用完成之后,必需手工释放这些缓冲区,否则会造成内存泄露,由于内部采用了“GlobalAlloc”来分配高端内存,故外部需要调用“GlobalFree”来释放,而不能是 delete 或 free 方法,具体使用方法请参考BR_Chat SDK中 Demo 程序的源代码,SDK/src目录。
2、调用实现代码:
- int iDeviceCount = -1;
- IntPtr[] lpDevicePtrs;
- // 枚举系统所有的视频设备
- int ret = AnyChatCoreSDK.EnumVideoCapture(null, ref iDeviceCount);
- if(ret != 0 || iDeviceCount == 0)
- return;
- lpDevicePtrs = new IntPtr[iDeviceCount];
- ret = AnyChatCoreSDK.EnumVideoCapture(lpDevicePtrs, ref iDeviceCount);
- cbxCamera.Items.Clear();
- foreach (IntPtr p in lpDevicePtrs)
- {
- string device = Marshal.PtrToStringAnsi(p); // 如果是Unicode版本,需要使用:Marshal.PtrToStringUni(p);
- if (string.IsNullOrEmpty(device) == false)
- {
- cbxCamera.Text = device;
- cbxCamera.Items.Add(device);
- }
- }
- // 获取当前视频采集设备
- StringBuilder sb = new StringBuilder(1024);
- AnyChatCoreSDK.GetCurVideoCapture(sb, sb.Capacity);
- if (string.IsNullOrEmpty(sb.ToString()) == false)
- cbxCamera.Text = sb.ToString();
- else if (cbxCamera.Items.Count > 0)
- cbxCamera.Text = cbxCamera.Items[0].ToString();
0 0
- 视频开发技术 视频设备枚举 C#
- 如何枚举视频设备for C#
- 枚举系统视频设备
- 视频 开发 技术
- 音视频开发平台 视频录制技术
- 音视频技术 视频开发参考资料
- C#学习视频分享与开发技术QQ交流群
- C#学习视频分享与开发技术QQ交流群
- C#视频—枚举和数组
- 视频开发技术之文件传输
- 手机视频对讲开发技术
- 视频网站开发技术独家报道
- 即时通讯 音视频 开发技术
- 蓝鸥Unity开发之C#基础视频枚举类型课后习题
- 视频捕获 之 如何使用系统设备枚举器
- 视频技术
- 视频技术
- 视频呼叫业务逻辑详解(视频开发技术)
- 3、linux开始
- JavaScript中split函数
- wegg
- view.class.getField(s).getInt(null);
- java.lang.OutOfMemoryError
- 视频开发技术 视频设备枚举 C#
- JavaScript中indexOf函数
- weg
- JavaScript实现响应事件实例
- android.view.WindowLeaked: Activity com.xty.activity.ActivityMainPage has leaked window
- Android版本史
- JavaScript的应用在什么地方?
- JS判断输入日期的正确性
- 解决svn报错:svn: Working copy 'D:\02_workplace\udp\WebRoot\Backstage\Sysi' locked; try performing 'clean