1. #include "webrtc\voice_engine\include\voe_base.h"
  2. #include "webrtc\voice_engine\include\voe_hardware.h"
  3. #include "webrtc\voice_engine\include\voe_errors.h"
  4. VoiceEngine* pVoeEngine;
  5. VoEHardware* pVoeHw;
  6. VoEBase* pVoeBase ;
  7. int main(int argc,char** argv)
  8. {
  9. pVoeEngine = VoiceEngine::Create();            // Get VoideEngine Factory
          pVoeBase = VoEBase::GetInterface(pVoeEngine);  // Use Voe Factor to get Voe Interface
  1. pVoeBase->Init();       // Voe must init
  2. pVoeHw = VoEHardware::GetInterface(pVoeEngine);
  3. {
  4. int res = 0 ;
  5. int rd(0), pd(0);
  6. res = pVoeHw->GetNumOfRecordingDevices(rd);
  7. res = pVoeHw->GetNumOfPlayoutDevices(pd);
  8. char dn[128] = { 0 };
  9. char guid[128] = { 0 };
  10. printf("\nPlayout devices (%d): \n", pd);
  11. for (int j = 0; j < pd; ++j) {
  12. res = pVoeHw->GetPlayoutDeviceName(j, dn, guid);
  13. printf(" %d: %s \n", j, dn);
  14. }
  15. printf("Recording devices (%d): \n", rd);
  16. for (int j = 0; j < rd; ++j) {
  17. res = pVoeHw->GetRecordingDeviceName(j, dn, guid);
  18. printf(" %d: %s \n", j, dn);
  19. }
  20. printf("Select playout device: ");
  21. //ASSERT_EQ(1, scanf("%d", &pd));
  22. res = pVoeHw->SetPlayoutDevice(pd);
  23. printf("Select recording device: ");
  24. //ASSERT_EQ(1, scanf("%d", &rd));
  25. printf("Setting sound devices \n");
  26. res = pVoeHw->SetRecordingDevice(rd);
  27. }
  28. }
 

VoiceEngine和VideoEngine一样, 使用Factory Model模式,Factory Model使用流程:
1.  创建VoiceEngine或者VideoEngine, 例如: VoiceEngine::Create() 
2.  获取Engine的Interface, VoEBase::GetInterface(), Engine Interface获取必须init();
3. 在factory下,有很多interface,都可以利用2中方法获取。
4.  使用完释放:    Terminate(),每个interface都要release();最后VoiceEngine::Delete( engine object);

VoiceEngine获取硬件信息的更多相关文章

  1. WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法

    原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...

  2. linux下dmidecode命令获取硬件信息

    linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...

  3. C#获取硬件信息

    //硬件信息 public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <return ...

  4. ansible facts 获取硬件信息

    facts 指的是 ansible_facts 变量,ansible 中使用 setup 模块来获取,包含系统的大部分基础硬件信息, [root@10_1_162_39 host_vars]# ll ...

  5. 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名

    {-----------------------------------------------------------------------------作者:sushengmiyan 2013.0 ...

  6. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转

    前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...

  7. Powershell获取硬件信息

    1.获取系统的BIOS的信息: Get-WMIObject -Class Win32_BIOS 2.获取内存信息: Get-WMIObject -Class Win32_PhysicalMemory ...

  8. C#通过WMI获取硬件信息

    有时候需要得到硬件信息绑定用户登录 代码如下: private string GetProcessSerialNumber() { try { ManagementObjectCollection P ...

  9. 使用dmidecode在Linux下获取硬件信息

    dmidecode命令可以让你在Linux系统下获取有关硬件方面的信息.dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示.由于DMI信息可以人为修改,因此里面的信息不一定是系 ...

随机推荐

  1. docker 镜像仓库 Harbor 部署 以及 跨数据复制

    docker 镜像仓库 Harbor 部署 跨数据复制 Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目 它主要 提供 Dcoker Registry 管理 ...

  2. Chapter 1 First Sight——8

    It took only one trip to get all my stuff upstairs. 就一趟我就把所有的东西搬到楼上了. I got the west bedroom that fa ...

  3. [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 160913 02:11:21 mysqld_safe mysqld from pid file /tmp/mysql.pid ended

    -- :: [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 -- :: [Warning] InnoDB: New ...

  4. jar2exe 配置jre

    http://www.regexlab.com/zh/jar2exe/support.htm

  5. Lua学习系列(四)

    lua 资源:http://www.dcc.ufrj.br/~fabiom/lua/ 第一个Lua程序 http://www.dcc.ufrj.br/~fabiom/lua/ 原文:https://w ...

  6. mysqldump导入导出mysql数据库

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  7. hibernate---性能优化, 1+N问题

    session级缓存 保存一个hashmap, 读出来的对象放在里面, 如果读出来50条放50条, 如果另起session原来的50条就被清除.可以手动session.clear清除. 如果同一个se ...

  8. 一道关于 precision、recall 和 threshold关系的机器学习题

    Suppose you have trained a logistic regression classifier which is outputing hθ(x). Currently, you p ...

  9. 常见div+css网页布局(float,absolute)

    网页布局-常见 1,           float布局 (1)常规方法 <div id="warp">     <div id="column&quo ...

  10. javascript(3)

    使用javascript改进链接 摘自<javascript基础教程> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...