音频终端设备(Audio Endpoint Devices)

endpoint device指的是应用程序的数据通道上起始或终止的硬件设备,如扬声器,耳机,话筒等;沿着数据通道可能穿越一定数目的硬件和软件组件,但它们往往是对用户不可见,用户更可能认为他们直接操作端点设备,而不是在端点设备插入的设配器等;

下图将adapt device和endpoint device区分开来:

以下是端点设备的示例:
  音箱
  麦克风
  辅助输入设备
以下是适配器设备的示例:
  波输出设备(包括数字 - 模拟转换器)
  输出控制装置(包含音量和静音控制)
  波输入装置(包括模拟 - 数字转换器)
  输入控制设备(包括音量控制和多路转换器)

某些终端设备(end device)可能永久连接到适配器(adapt device)的设备,例如一台计算机可能包含CD播放器,或者被集成到系统机箱的扬声器;其他端点设备(end device)可以通过音频插孔连接音频适配器(adapt device),例如外部麦克风;

adapt device可以通过系统总线(通常,PCI或PCI Express)或外部总线(USB或IEEE 1394),达到即插即用的效果;即插即用管理器(Plug and Play Manager)识别设备中的音频适配器并登记这些设备,使操作系统和应用程序可以使用它们;

end device同adapt device之间的连接,不同月adapt device同总线之间的连接,不支持即插即用;一些音频适配器支持检测,当一个插头插入或从插孔中拔出,硬件产生中断通知硬件配置变化给适配器驱动程序(adapter driver);端点管理器(endpoint manager)利用这个硬件功能来通知应用程序端点设备的情况;

软件供应商不再需要验证其端点识别算法(endpoint-identification algorithms)与所有可用的音频硬件设备和配置(audio hardware devices and configurations),他们可以简单地依靠操作系统的端点识别正常工作;同样,硬件厂商已不再需要验证各相关客户端应用程序可以识别连接到他们的设备适配器,他们只需要验证操作系统可以识别一个连接到他们音频适配器(adapter device)的端点设备(endpoint device)。

本文参考文档:http://msdn.microsoft.com/en-us/library/dd370802(v=vs.85).aspx

Core Audio(三)的更多相关文章

  1. 使用Core Audio实现VoIP通用音频模块

    最近一直在做iOS音频技术相关的项目,由于单项直播SDK,互动直播SDK(iOS/Mac),短视频SDK,都会用到音频技术,因此在这里收集三个SDK的音频技术需求,开发一个通用的音频模块用于三个SDK ...

  2. Core Audio(二)

    用户模式音频组件 在windows vista中,core audio apis充当用户模式音频子系统的基础,core audio apis作为用户模式系统组件的一个thin layer,它用来将用户 ...

  3. Core Audio(一)

    Core Audio APIs core audio apis是vista之后引入的,不使用与之前的windows版本:core audio apis提供访问endpoint devices,比如耳机 ...

  4. Core Audio 在Vista/Win7上实现

    应用范围:Vista / win7, 不支持XP 1. 关于Windows Core Auido APIs 在Windowss Vista及Windows 7操作系统下,微软为应用程序提供了一套新的音 ...

  5. 小白开学Asp.Net Core《三》

    小白开学Asp.Net Core<三> ——界面 我胡汉三再次又回来了(距离上篇时间有点长),今天抽时间将最近对框架采用的后台界面做个记录 1.先上图 (图一) (图二) 2.界面说明 后 ...

  6. 使用 Windows Core Audio APs 进行 Loopback Recording 并生成 WAV 文件

    参考文档 COM Coding Practices Audio File Format Specifications Core Audio APIs Loopback Recording #inclu ...

  7. windows core audio apis

    这个播放流程有一次当初不是很理解,做个记录,代码中的中文部分,原文档是有解释的:To move a stream of rendering data through the endpoint buff ...

  8. EF Core 快速上手——EF Core的三种主要关系类型

    系列文章 EF Core 快速上手--EF Core 入门 本节导航 三种数据库关系类型建模 Migration方式创建和习修改数据库 定义和创建应用DbContext 将复杂查询拆分为子查询   本 ...

  9. 在.NET Core中三种实现“可插拔”AOP编程方式(附源码)

    一看标题肯定会联想到使用动态编织的方式实现AOP编程,不过这不是作者本文讨论的重点. 本文讨论另外三种在netcore中可实现的方式,Filter(过滤器,严格意义上它算是AOP方式),Dynamic ...

随机推荐

  1. 【Python全栈笔记】07 [模块二] 20 Oct 冒泡排序

    给出一个列表,进行冒泡排序 原理算法: li = [52, 37, 23, 11, 3, 1, ] print(li) # 每次循环,进行一次排序,列表内数字两两比较,最大的数字排到最末尾 # 一共循 ...

  2. Android遍历获取Office格式(Word,Excel,PPT,PDF)的文件并打开

    此案例主要是模仿QQ加载WPS(Word,Excel,PPT)本地文件可打开查看,使用ListView加载,使用线程扫描SD卡下所有目录加载指定的Word,Excel,PPT等格式的文件,ListVi ...

  3. C++STL学习笔记_(1)deque双端数组知识

    #include<iostream> using namespace std; #include "deque" #include "algorithm&qu ...

  4. UITextView 显示不全的问题

    //设置UITextView的内边距 textView.contentInset = UIEdgeInsetsMake(0, 0, 20, 0);

  5. hdu 1299 Diophantus of Alexandria (数论)

    Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  6. 关于BaseExpandableListAdapter

    首先要明确,可折叠列表在每个项是包含子项的,那么肯定会用到集合嵌套!下面是封装的两个实体类: package com.yx.pojo;public class Chid {        privat ...

  7. 关于Servlet手动配置web.xml部分代码

    <servlet> <!-- 文件名 --> <servlet-name>deleteServlet</servlet-name> <!-- 文件 ...

  8. VSS 的修复和扫描

    关闭所有连接到VSS的客户端如:VSS客户端及VS开发工具,在命令行模式下,运行这个方法: "C:\Program Files (x86)\Microsoft Visual SourceSa ...

  9. subversion

    yum install apr-util-devel.x86_64 sqlite-devel https://subversion.apache.org/download.cgi ./configur ...

  10. .NET使用Com组件的一点点教训笔记~

    中控IFACE系列的产品,二次开发包 zkemkeeper.dll 在system32 ,SySWoW64都注册了,就是他妈的用不了. 最后,在 system32 ,SySWoW64 注册了,然后把需 ...