CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

急问:VC如何得到声卡和摄像头的设备名?

楼主ddnlkd1204(String args[])2006-03-03 18:30:42 在 VC/MFC / 基础类 提问

rt,用VC如何得到声卡和摄像头的设备名称? 问题点数:50、回复次数:2Top

1 楼laiyiling(陌生人[MVP])回复于 2006-03-04 09:00:27 得分 0

DirectShow   SDK文档里有代码  
  http://www.codeproject.com/directx/Mpeg2WavConversion.aspTop

2 楼laiyiling(陌生人[MVP])回复于 2006-03-04 09:04:10 得分 0

//   Create   the   System   Device   Enumerator.  
  HRESULT   hr;  
  ICreateDevEnum   *pSysDevEnum   =   NULL;  
  hr   =   CoCreateInstance(CLSID_SystemDeviceEnum,   NULL,   CLSCTX_INPROC_SERVER,  
          IID_ICreateDevEnum,   (void   **)&pSysDevEnum);  
   
  //   Obtain   a   class   enumerator   for   the   video   compressor   category.  
  IEnumMoniker   *pEnumCat   =   NULL;  
  hr   =   pSysDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory,   &pEnumCat,   0);  
  //根据音频和视频的不通修改上面函数的第一个参数  
   
  if   (hr   ==   S_OK)    
  {  
          //   Enumerate   the   monikers.  
          IMoniker   *pMoniker;  
          ULONG   cFetched;  
          while(pEnumCat->Next(1,   &pMoniker,   &cFetched)   ==   S_OK)  
          {  
                  IPropertyBag   *pPropBag;  
                  pMoniker->BindToStorage(0,   0,   IID_IPropertyBag,   (void   **)&pPropBag);  
   
                  //   To   retrieve   the   friendly   name   of   the   filter,   do   the   following:  
                  VARIANT   varName;  
                  VariantInit(&varName);  
                  hr   =   pPropBag->Read(L"FriendlyName",   &varName,   0);  
                  if   (SUCCEEDED(hr))  
                  {  
                          //   Display   the   name   in   your   UI   somehow.  
                  }  
                  VariantClear(&varName);  
   
                  //   To   create   an   instance   of   the   filter,   do   the   following:  
                  IBaseFilter   *pFilter;  
                  pMoniker->BindToObject(NULL,   NULL,   IID_IBaseFilter,   (void**)&pFilter);  
                  //   Now   add   the   filter   to   the   graph.   Remember   to   release   pFilter   later.  
           
                  //   Clean   up.  
                  pPropBag->Release();  
                  pMoniker->Release();  
          }  
          pEnumCat->Release();  
  }  
  pSysDevEnum->Release();  
   
  Top

相关问题

  • 释放摄像头的设备资源?
  • VC中如何控制摄像头
  • 请教:如何在VC/VB中捕获摄像头图像?
  • 急求在VC里头获取摄像头名字的方法.
  • who知道如何开发linux下的摄像头之类的设备程序?
  • 网络摄像头用于图像采集设备是否可行?
  • 怎样在vc中截取电脑摄像头录取的图像?谢了!
  • 急需vc开发摄像头的程序的例子!急,请高手指点
  • 摄像头
  • 如何用USB接口的摄像头作为图像处理的输入设备

关键词

  • hr
  • null
  • penumcat
  • ppropbag
  • psysdevenum
  • pmoniker
  • varname
  • enumerate

得分解答快速导航

  • 帖主:ddnlkd1204

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo