3.关键概念

这对于使用XAudio2概述介绍了一些关键的概念。
XAudio2引擎
声音
音频图
回调
相关主题

XAudio2 Engine

IXAudio2是XAudio2引擎和核心接口。创建一个IXAudio2接口允许客户列举的实例可用的音频设备(如何:列举音频设备),配置全局API属性,创建和销毁的声音,和监控性能。

XAudio2 Xbox 360作为静态库实现。在Windows上,XAudio2被实现为组件对象模型(COM)对象在一个动态链接库(DLL),客户可以创建使用COM CoCreateInstance函数。在这两个平台上,XAudio2Create 帮助层函数可以用来执行适当的实例化和初始化任务。在Xbox 360,XAudio2Create是一个真正的库函数。在Windows XAudio2Create是内联函数,定义在XAudio2.h,调用CoCreateInstanceIXAudio2::Initialize函数。

虽然XAudio2Create函数允许类似的实例代码使用在这两个平台上,在Windows,COM函数必须在调用XAudio2Create之前调用CoInitialize或CoInitializeEx。COM的规则不允许这个函数调用被合并入XAudio2Create。同时,COM的规则需要在使用XAudio2的线程都调用CoInitialize或CoInitializeEx。

可以创建的实例XAudio2多次在一个进程。每个XAudio2对象独立运作,并有自己的音频处理线程。只有调试设置共享。这是很重要的,在Windows上,几个不同的组件可以加载在一个过程的例子,互联网Explorer-might XAudio2同时使用。虽然可以创建多个XAudio2引擎对象在一个客户机应用程序,信息不应该各自之间传递图。
一个初始化XAudio2引擎的例子,如何:初始化XAudio2。

Voices

Voices是XAudio2处理的对象,操作,播放音频数据。XAudio2有三种类型的Voices对象。

  • Source Voices

Source Voices代表的音频数据流。Source Voices把他们的数据传送到其他类型的Voices。

  • Submix Voices

Submix Voices执行一些操作的音频数据。音频数据的一个例子可能是采样率转换。Submix Voices的数据处理之后,它将数据传递给另一个Submix Voices或Mastering Voices。

  • Mastering Voices

Mastering Voices接收数据从Source Voices和Submix Voices,并将这些数据发送到音频硬件。
转到 XAudio2 Voices的概述。

Audio Graph

Audio Graph是XAudio2 Voices的集合。音频的音频图从一侧开始声音来源,可以通过一个或多个submix声音,终于送到掌握的声音。音频图将包含一个来源为每个声音现在玩的声音,零个或多个submix的声音,一个掌握的声音。最简单的音频图,和所需的最低XAudio2喧哗,是单一来源的声音输出直接掌握的声音。看到如何:播放一个声音与XAudio2最低的一个例子与XAudio2步骤需要扮演一个声音。
转到XAudio2 Audio Graph的概述。

回调

回调机制XAudio2使用信号客户机代码,一些事件发生的声音或引擎对象。因为音频播放XAudio2引擎是异步的,回调时提供唯一的方法来确定声音完成演奏。
转到XAudio2回调的概述。

【XAudio2】3.关键概念相关推荐

  1. list python 转tensor_TensorFlow 中的几个关键概念:Tensor,Operation,Graph,Session

    前言:TensorFlow是一种符号式编程框架,首先要构造一个图(graph),然后在这个图上做运算.打个比方,graph就像一条生产线,session就像生产者.生产线具有一系列的加工步骤(加减乘除 ...

  2. 独家 | 熵–数据科学初学者必知的关键概念(附链接)

    作者:SETHNEHA 翻译:刘思婧 校对:王可汗 本文约3700字,建议阅读18分钟. 本文为大家介绍了熵的概念.计算及其在决策树算法中的应用. 引言 熵是机器学习的关键概念之一.对于任何机器学习爱 ...

  3. SCCM 2012系列之一 Operations Manager 关键概念

    Operations Manager 关键概念 1. Operations Manager 的用途 大小型企业通常依赖于其计算环境提供的服务和应用程序. IT 部门负责确保这些关键服务和应用程序的性能 ...

  4. python 去除列表空值_零基础学习Python之9大关键概念

    一.为什么学Python ? 1.Python是人工智能,数据分析必备工具,目前为世界上发达国家主流编程语言. 二.学习Python 的4个关键点. 数据/函数/条件判断/循环 三.九大关键概念 1. ...

  5. 5,6,7_InfluxDB数据保留策略,InfluxDB的关键概念,带有时区进行查询示例

    5.InfluxDB学习之InfluxDB数据保留策略(Retention Policies) 5.1.InfluxDB数据保留策略说明 5.2.InfluxDB数据保留策略目的 5.3.Influx ...

  6. Libra教程之:Libra协议的关键概念

    文章目录 Libra协议 交易和状态 交易详解 账本状态详解 版本数据库 账户 账户地址 Proof 验证节点 存储 Libra协议 Libra协议是Libra区块链的基础,本文主要讲解Libra协议 ...

  7. 区块链相关的关键概念

    关键概念中英文对照 区块链(Blockchain) 证明系统(Systems of Proof) 去中心化(Decentralized ) 分布式账本(Distributed Ledger) 智能合约 ...

  8. 【深度学习】吴恩达深度学习-Course1神经网络与深度学习-第四周深度神经网络的关键概念编程(下)——深度神经网络用于图像分类:应用

    在阅读这篇文章之前,请您先阅读:[深度学习]吴恩达深度学习-Course1神经网络与深度学习-第四周深度神经网络的关键概念编程(上)--一步步建立深度神经网络,这篇文章是本篇文章的前篇,没有前篇的基础 ...

  9. 2.1、Segment Routing基础之SR关键概念

    目录 SR基本概念 SR关键概念 Segment 列表操作 SRGB(Segment Routing Global Block) SRLB(Segment Routing Local Block) S ...

最新文章

  1. (C++)数组作为函数参数
  2. Redis-04Redis数据结构--哈希hash
  3. 学习笔记Hive(九)—— 实例:航空客户价值分析数据预处理
  4. Java程序员从笨鸟到菜鸟之(一百零六)java操作office和pdf文件(四)页面列表导出cvs,excel、pdf报表.
  5. Scala集合的常用方法:sum/max/min/product
  6. 如何在IE右键菜单中添加自定义项
  7. java设计模式之设计原则②依赖倒置原则
  8. 【转载】Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
  9. F. Gourmet and Banquet(贪心加二分求值)
  10. python学习之路四(类和对象1)
  11. SpringBoot整合QueryDSL
  12. Cximage 库使用,直接读取图像数据到内存。
  13. 安泰测试新手教程-泰克数字示波器使用方法
  14. 我对锤子ROM 功能的看法——功能篇
  15. 工业物联网·无线路由器中继桥功能
  16. 喝java茶,我为你泡一杯花茶
  17. excel画图如何添加图表数据参考线
  18. 气象学需要计算机知识吗,应用气象学专业学什么
  19. sEMG项目总结(2)康复手控制系统
  20. python爬虫: 爬取boss网站数据 保存到mysql

热门文章

  1. 使用LSTM进行情感分析
  2. 博士申请 | 北京理工大学宋承天老师组招收目标感知与识别方向博士生
  3. Waymo 2020 | 2D/3D目标检测、跟踪和域自适应性冠军解决方案解析
  4. 如何使用知识图谱增强信息检索模型?
  5. 知识图谱最新论文清单,高阶炼丹师为你逐一解读
  6. java form action 参数_java发起form请求(有参数,无参数)
  7. 云服务器端口对外开放详解
  8. Visual C++——黄维通《 Visual C++面向对象与可视化程序设计》——例题9-5
  9. Linux——CentOS安装桌面
  10. 2019牛客暑期多校训练营(第四场)