设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4949|回复: 2

C#怎么枚举本地摄像头,有没有参考代码?

[复制链接]

12

主题

21

帖子

104

积分

注册会员

Rank: 2

积分
104
发表于 2013-9-9 15:50:21 | 显示全部楼层 |阅读模式
如题,谢谢。
回复

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2013-9-9 15:58:56 | 显示全部楼层
您好,请参考如下的代码:
  1. int iDeviceCount = -1;
  2. IntPtr[] lpDevicePtrs;

  3. // 枚举系统所有的视频设备
  4. int ret = AnyChatCoreSDK.EnumVideoCapture(null, ref iDeviceCount);
  5. if(ret != 0 || iDeviceCount == 0)
  6.         return;
  7. lpDevicePtrs = new IntPtr[iDeviceCount];
  8. ret = AnyChatCoreSDK.EnumVideoCapture(lpDevicePtrs, ref iDeviceCount);

  9. cbxCamera.Items.Clear();
  10. foreach (IntPtr p in lpDevicePtrs)
  11. {
  12.         string device = Marshal.PtrToStringAnsi(p);    // 如果是Unicode版本,需要使用:Marshal.PtrToStringUni(p);
  13.         if (string.IsNullOrEmpty(device) == false)
  14.         {
  15.                 cbxCamera.Text = device;
  16.                 cbxCamera.Items.Add(device);
  17.         }
  18. }

  19. // 获取当前视频采集设备
  20. StringBuilder sb = new StringBuilder(1024);
  21. AnyChatCoreSDK.GetCurVideoCapture(sb, sb.Capacity);
  22. if (string.IsNullOrEmpty(sb.ToString()) == false)
  23.         cbxCamera.Text = sb.ToString();
  24. else if (cbxCamera.Items.Count > 0)
  25.         cbxCamera.Text = cbxCamera.Items[0].ToString();
复制代码
回复 支持 反对

使用道具 举报

0

主题

2

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2016-7-9 19:51:27 | 显示全部楼层
admin 发表于 2013-9-9 15:58
您好,请参考如下的代码:

你好!请问这段代码的使用除了BRAnyChat.h以外还需要包含什么头文件吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-3-30 11:33 , Processed in 0.139579 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表