博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenAL基本介绍
阅读量:4119 次
发布时间:2019-05-25

本文共 1028 字,大约阅读时间需要 3 分钟。

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/documentation/OpenAL_Programmers_Guide.pdf

你可能感兴趣的文章
一步步开发 Spring MVC 应用
查看>>
python: extend (扩展) 与 append (追加) 的差别
查看>>
「译」在 python 中,如果 x 是 list,为什么 x += "ha" 可以运行,而 x = x + "ha" 却抛出异常呢?...
查看>>
浅谈JavaScript的语言特性
查看>>
LeetCode第39题思悟——组合总和(combination-sum)
查看>>
LeetCode第43题思悟——字符串相乘(multiply-strings)
查看>>
LeetCode第44题思悟——通配符匹配(wildcard-matching)
查看>>
LeetCode第45题思悟——跳跃游戏(jump-game-ii)
查看>>
LeetCode第46题思悟——全排列(permutations)
查看>>
LeetCode第47题思悟—— 全排列 II(permutations-ii)
查看>>
LeetCode第48题思悟——旋转图像(rotate-image)
查看>>
驱动力3.0,动力全开~
查看>>
记CSDN访问量10万+
查看>>
Linux下Oracle数据库账户被锁:the account is locked问题的解决
查看>>
记CSDN访问20万+
查看>>
Windows 环境下Webstorm 2020.3 版本在右下角找不到Git分支切换部件的一种解决方法
查看>>
Electron-Vue项目中遇到fs.rm is not a function问题的解决过程
查看>>
飞机换乘次数最少问题的两种解决方案
查看>>
有向无回路图的理解
查看>>
设计模式中英文汇总分类
查看>>