zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    java版二维码实例(非安卓版)
    Java—SSH(MVC)
    关于flex里面mousedown 和click事件冲突问题的解决办法
    navicat ssh通道受限问题处理
    如何更改linux文件目录拥有者及用户组
    如何查看linux中的ssh端口开启状态
    centos linux mysql 10060远程错误代码
    Navicat for MySQL 使用SSH方式链接远程数据库(二)
    Petri Net 的形式化定义
    如何做鲫鱼豆腐汤
  • 原文地址:https://www.cnblogs.com/wanghoney/p/3482411.html
Copyright © 2011-2022 走看看