OpenAL (Open Audio Library)  是一个跨平台的3D音效库.这个库模型是在三维空间中很多个 单独的监听器在某处听到音频源集合. OpenAL的基本组成是 Listener(收听者),Source(来源),Buffer(缓冲).比如一个包含音频数据的很大的Buffers.每一个buffer能被连接到一个或多个Source上.它代表着一个在3D空间下发出声音的点.总有一个Lisener(每一个audio context)表示Source的位置,然后从Listener的角度进行渲染.

百度文档的解释是这样紫的:OpenAL 主要的功能是在来源物体、音效缓冲和收听者中编码。来源物体包含一个指向缓冲区的指标、声音的速度、位置和方向,以及声音强度。收听者物体包含收听者的速度、位置和方向,以及全部声音的整体增益。缓冲里包含 8 或 16 位元、单声道或立体声 PCM 格式的音效资料,表现引擎进行所有必要的计算,如距离衰减、多普勒效应等。

OpenAL是一个跨平台的三维音效API.该API的主要目的是允许应用在三维空间中定位音频源.对Source产生合理的空间定向.通过扩展,OpenAL还增强了在EAX和其他特性的能力.OpenAL适合很多音频应用,在音频游戏中会显示的更为出色.

使用OpenAL围绕着三个基本的对象:Buffers,Sources,Listener. 一个buffer可以用来装audio 数据.然后可以连接到一个Source上.这个Source可以被定位和播放.Source和Listener(只有一个)的相对位置和方向决定了source怎么被听到.创建多个buffers和多个sources和一个listener,然后更新sources的位置和方向,listener就能动态的呈现一个3D的音效世界.

关系:

当初始化OpenAL 的时候,至少有一个Device被开启,在这个Device里面,至少有一个context被创建.在这个context里面,实现一个listener.一个或多个Source.每一个source可以被一个或多个buffer连接.buffer不是一个特定的context的一部分.它们可以被在一个device上的多个context共享.

官网: http://www.openal.org

官方文档:  http://www.openal.org/documentation/OpenAL_Programmers_Guide.pdf

OpenAL基本介绍相关推荐

  1. Java opengl openal_项目里用到了openal,特分享一下openal全教程

    // 存储声音数据 ALuint Buffer; // 用于播放声音 ALuint Source; 这是程序处理结构的初始化.在OPENAL中三种不同的结构,所有关于声音播放和 声音数据存储在一个内存 ...

  2. alsa声音编程介绍

    http://blog.csdn.net/q553716434/article/details/7881552 period(周期):硬件中中断间的间隔时间.它表示输入延时. 声卡接口中有一个指针来指 ...

  3. OpenAL跨平台音效API的安装与移植

    OpenAL跨平台音效API的安装与移植  zouxy09@qq.com http://blog.csdn.net/zouxy09 OpenAL(Open Audio Library)是自由软件界的跨 ...

  4. HelloWorld Detail Earth 3D Engine(一)总体介绍

    HelloWorld Detail Earth 3D Engine(一)总体介绍 一 简介 HelloWorld Detail Earth3D Engine 拥有数字地球的基本功能和架构,同时拥有3D ...

  5. 将【axmol】引擎的OpenAL实现在iOS平台替换openal-soft详细过程

    前言 如标题, 从之前文章对 axmol 的介绍已经了解到,axmol是基于Cocos2d-x-4.0的持续维护分支,axmol的AudioEngine模块API标准继承了Cocos2d-x-3.x/ ...

  6. iOS总体框架介绍和详尽说明

    总体介绍 iOS为应用程序开发提供了许多可使用的框架,并构成IOS操作系统的层次架构,分为四层,从上到下依次为:Cocoa Touch Layer(触摸UI层).MediaLayer(媒体层).Cor ...

  7. iOS 常用框架介绍

    iOS框架介绍      Cocoa Touch GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游戏 ...

  8. ios的四个核心部分介绍

    ios四个核心部分 1.Cocoa Touch Cocoa Touch层的关键技术. (1)多任务       iOS SDK 4.0以及以后的SDK构建的程序(且运行在iOS 4.0和以后版本的设备 ...

  9. ios 关于常用的一些第三方框架的介绍

    本文转载自:http://blog.csdn.net/xiaoyuertongxue/article/details/46982879 图像:  1.图片浏览控件MWPhotoBrowser 实现了一 ...

最新文章

  1. 面了小 100 人,90% 都背了面试题......
  2. 老外听到哪些中式英文是崩溃的?(转自外贸Jackson)
  3. 有关替换字符的代码问题
  4. c语言跑马灯实验报告,单片机跑马灯实验
  5. Spark IDEA 编程环境配置
  6. 你还在犹豫要不要学习Java?不妨来看看我的见解如何?
  7. HDOJ 汉诺塔系列(递推分析)
  8. C++实验课任务(多态--容器--算法)
  9. 64. 合并排序数组 II
  10. WPF特效-实现3D足球效果
  11. java-第三章-从键盘输入3个整数,然后将输入的整数按照从小到大的顺序放在abc,并输出3个变量的值...
  12. 图文详解VxLAN技术(二)
  13. 魔兽服务器信息文件,魔兽世界2.4.3公众测试服务器补丁说明文档
  14. 我能为IT行业做什么
  15. 小学计算机教学笔记,信息技术在小学数学教学的运用
  16. spring 事物(一)—— 事物详解
  17. 图或网络中的中心性:点度中心性、中介中心性、接近中心性、特征向量中心性、PageRank
  18. 实战!我用Wireshark让你看见 TCP!
  19. graphpad如何检测方差齐_如何用 GraphPad prism进行 t 检验?
  20. MacOS Monterey从源码构建安装opencv 4.5.5

热门文章

  1. DellOptiPlex 5060台式机WinServer2012系统安装网卡驱动回顾
  2. 超融合架构HCI和传统数据中心三层架构的比较
  3. OTN超100G速率-G.709中的OTUCn/ODUCn是怎样的?
  4. 日常生活中常用的英语
  5. 北京物资学院图书馆打印个人PC的文件上传方式
  6. Jira中如何删除项目
  7. ie 8无法安装因为您的计算机上,ie8无法安装解决方法介绍
  8. 【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅱ——配置RemoteAPP和访问
  9. 有没有关于黄昏日落的温柔文案
  10. 【课程设计】基于Taro+React+Springboot+TaroUI+Python爬虫的网络音乐播放小程序详细设计实现