Core Audio(一)
Core Audio APIs
core audio apis是vista之后引入的,不使用与之前的windows版本;core audio apis提供访问endpoint devices,比如耳机、麦克风等,它是higher-level audio APIs(比如directsound, waveXXX 函数)的基础。
(一)Windows Core Audio APIs简介
1.功能:
(1)低延时,几乎无故障的音频流。
(2)提高可靠性 ( 很多音频函数从核心态移到了用户态 )
(3)提高了安全性 (在安全的,低优先级别的线程处理被保护的音频内容)
(4)分配了特定的系统级别的规则 (console, multimedia, communications) 给单独的音频设备
(5)用户可以直接操作,相应 endpoint 设备的软件抽象 ( 如:扩音器,耳麦及麦克风 )
2. 以下higher-level APIs的基础:
(1)DirectSound
(2)DirectMusic
(3)Windows multimedia waveXxx and mixerXxx functions
(4)Media Foundation
3.需要用到这些核心的 API的地方:
(1)专业的音频应用程序 (PRO AUDIO)
(2)实时通信 (RTC) 应用程序
(3)第三方音频 API
一个 PRO AUDIO 和 RTC 应用程序可能需要直接用底层 Core Audio API 访问音频硬件来达到最小延时的效果,一个第三方的音频 API 需要直接访问 Core Audio API 来实现高层的 API 没有提供的功能;
4.Api包括(这些 API 提供对于设备的抽象概念,这些概念被描述成为 Audio Endpoint Device ):
(1)Multimedia Device (MMDevice) API :用这些 API 来枚举系统中的音频设备。
(2)Windows Audio Session API (WASAPI) :用这些 API 来创建和管理来自音频设备音频流。
(3)DeviceTopology API :用这些 API 来直接访问声音适配器中的硬件数据通路的拓扑特性(如音量控制,复用器等)
(4)EndpointVolume API :用这些 API 直接访问音频设备的声音控制。这些 API 通常是给那些以独占模式管理音频流的应用程序。
本文参考文档:http://msdn.microsoft.com/en-us/library/dd370802(v=vs.85).aspx
Core Audio(一)的更多相关文章
- Core Audio(二)
用户模式音频组件 在windows vista中,core audio apis充当用户模式音频子系统的基础,core audio apis作为用户模式系统组件的一个thin layer,它用来将用户 ...
- Core Audio 在Vista/Win7上实现
应用范围:Vista / win7, 不支持XP 1. 关于Windows Core Auido APIs 在Windowss Vista及Windows 7操作系统下,微软为应用程序提供了一套新的音 ...
- 使用Core Audio实现VoIP通用音频模块
最近一直在做iOS音频技术相关的项目,由于单项直播SDK,互动直播SDK(iOS/Mac),短视频SDK,都会用到音频技术,因此在这里收集三个SDK的音频技术需求,开发一个通用的音频模块用于三个SDK ...
- 使用 Windows Core Audio APs 进行 Loopback Recording 并生成 WAV 文件
参考文档 COM Coding Practices Audio File Format Specifications Core Audio APIs Loopback Recording #inclu ...
- Core Audio(三)
音频终端设备(Audio Endpoint Devices) endpoint device指的是应用程序的数据通道上起始或终止的硬件设备,如扬声器,耳机,话筒等:沿着数据通道可能穿越一定数目的硬件和 ...
- windows core audio apis
这个播放流程有一次当初不是很理解,做个记录,代码中的中文部分,原文档是有解释的:To move a stream of rendering data through the endpoint buff ...
- 使用Core Audio实现对声卡输出的捕捉
涉及的接口有: IMMDeviceEnumerator IMMDevice IAudioClient IAudioCaptureClient 主要过程: 创建多媒体设备枚举器(IMMDeviceEnu ...
- Core MIDI and Friends
http://www.slideshare.net/invalidname/core-midi-and-friends 31 of 31 Core MIDI and ...
- UIKit,Core Data , Core Graphics, Core Animation,和OpenGLES框架
iOS的主要框架介绍 框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件.一个共享库定义的方法或函数可以被应用程序调用. IOS提供了很多你可以在应用程序 ...
随机推荐
- MySQL查询今天/本周/上周/本月/上个月份的数据
MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周.上周.本月.上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看. 查询当前今天的数据 SELECT name,sub ...
- JavaScript流程控制语句
一.JavaScript分支语句 -alert() 弹出警告对话框 -prompt() 弹出输入框 1.if(){}else{} 栗子: var num=prompt("请输入电话号码 ...
- 轻型的ORM类Dapper
Dapper是一个轻型的ORM类.代码就一个SqlMapper.cs文件,主要是IDbConnection的扩展方法,编译后就40K的一个很小的dll.官方站点http://code.google.c ...
- shell编程之运算符
declare声明变量类型 declare [+ / -] [选项] 变量名 - :给变量设定类型属性 + :取消变量的类型属性 -a :将变量声明为数组型 -i :将变量声明为整数型 -x ...
- RIDE安装遇到的问题及解决方法
1.按照虫师的方法,下载的wxpython3.0 ,启动robotframework-ride,无效,因为版本不一致,所以我又根据终端提示的网址:http://sourceforge.net/proj ...
- SQL SERVER With语法[转]
今天在论坛上看到一个举例,关于sql server 的示例.1/25/50/100美分,多少种可能拼凑成2美元. 看了其中第一条语法,放在SQL SERVER中测试,发现真的列举出所有组合成2美元的方 ...
- jQuery Mobile 网格布局
jQuery Mobile 布局网格 jQuery Mobile 提供了一套基于 CSS 的列布局方案.不过,一般不推荐在移动设备上使用列布局,这是由于移动设备的屏幕宽度所限. 但是有时你需要定位更小 ...
- $.each与$().each
在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法.两个方法是有区别的,从而这两个方法在针对不同的操作上,显示了各自的特点. $().each,对于这个方法,在d ...
- Python模块:itertools
itertools模块:循环器 一,无穷循环器:count,cycle,repeat (1)count(5,3) #从5开始的整数循环器,每次增加3,即:5,8,11,14,17... from it ...
- ssh学习小记
ssh 为Secure SHell 的缩写.OpenSSH: ssh协议的开源实现. SSH协议版本 v1: 基于CRC-32做MAC,不安全:man-in-middle v2:双方主机协议选择安全 ...