OpenAL(Open Audio Library)是自由软件界的跨平台音效API。它设计给多通道三维位置音效的特效表现。其 API 风格模仿自 OpenGL。
OpenAL 最初是由 Loki Software 所开发。是为了将 Windows 商业游戏移植到 Linux 上。Loki 倒闭以后,这个项目由自由软件/开放源始码社区继续维护。不过现在最大的主导者(并大量发展)是创新科技,并得到来自 苹果公司 和自由软件/开放源代码爱好者的持续支持。
OpenAL 主要的功能是在来源物体、音效缓冲和收听者中编码。来源物体包含一个指向缓冲器的指针、声音的速度、位置和方向,以及声音强度。收听者物体包含收听者的速度、位置和方向,以及全部声音的整体增益。缓冲里包含 8 或 16 比特、单声道或立体声 PCM 格式的音效数据,表现引擎进行所有必要的计算,如距离衰减、多普勒效应等。
不同于 OpenGL 规格,OpenAL 规格包含两个API分支;以实际 OpenAL 函数组成的核心,和 ALC API,ALC 用于管理表现内容、资源使用情况,并将跨平台风格封在其中。还有“ALUT”程序库,提供高级“易用”的函数,其定位相当于 OpenGL 的 GLUT。
介绍内容来自维基百科。
1. 初始化 ALCcontext* p_context; ALCdevice* p_device; ALuint ui_source; ALuint m_buffers[MAX_CACHE]; std::list<ALuint> m_buffer_queue; p_device = alcOpenD
OpenAL简介 OpenAL(Open Audio Library)是专门负责3D定位音效方面的API,可用来开放地、跨平台地访问声音硬件。与那些今日在游戏中得到普遍应用的较大的面向对象的库相比,OpenAL是一个简单明了的替代方案。OpenAL一直在不断的创新,几乎没有一个API能达到她的全部潜能。一个很大的原因是因为hardware加速建立在特殊的版卡上。然而,Creative Labs是O
转发,原文地址:OpenAL快速入门教程 OpenAL快速入门 1. 为什么使用OpenAL 也许你已经用过AudioToolbox框架并用以下代码来播放一个音乐文件: NSString* path = [[NSBundle mainBundle] pathForResource:@"soundEffect1" ofType:@"caf"]; NSURL * afUrl = [NSURL file
http://blog.csdn.net/luckilyyu/article/details/6894707 转载于:https://www.cnblogs.com/dongerlei/p/6136369.html
前言 如标题, 从之前文章对 axmol 的介绍已经了解到,axmol是基于Cocos2d-x-4.0的持续维护分支,axmol的AudioEngine模块API标准继承了Cocos2d-x-3.x/4.0,但相对于官方最大区别是统一了全平台的音频后端API,全平台基于OpenAL,接下来,本文将从Cocos2d-x音频库的历史到axmol的音频库,来介绍axmol是如何把iOS平台的OpenAL
VS2109太大了,安装要100多G。同样功能的MinGW gcc编译器+msys,只要几百兆。磁盘空间就是钱啊。遂改用MinGW了。 1,下载 MinGW,msys。 2,下载 openal-soft-1.20.1.tar.bz2 : https://www.openal-soft.org/openal-releases/openal-soft-1.20.1.tar.bz2 3,下载cmake
1,下载 VS2019 社区版(community),这是微软提供的开源免费版本,针对个人用户。离线安装参考微软的说明。 2,下载 openal-soft-1.20.1.tar.bz2 : https://www.openal-soft.org/openal-releases/openal-soft-1.20.1.tar.bz2 3,下载 freealut-last-upstream-commit
头文件 /* * SoundPlay.h * 1:需要下载开发openal开发包(Software implementation of the OpenAL API(devlopment files))和alut开发包 * 2:添加头文件路径:/usr/include/AL * 3:添加库:openal和alut */ #ifndef SOUNDPLAY_H_ #define SOUNDPLAY_
多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。
我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi
作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)
说明 由于在跨端开发中,必不可少的会遇到不同端需要有不同实现的情况。参考滴滴chameleon中的多态,megalo中实现了类似的跨平台兼容方案。需要使用时,请保证@megalo/target的版本号大于或等于0.7.2。 js的跨平台兼容 megalo中下面两种形式的引用会被特殊处理: [path-to-name]/[name]/index.mpjs [path-to-name]/[name]
问题内容: 我想在Unix和Windows上使用特定于平台的目录。请看一下代码: 这个输出 我想第二次打电话给(windows)类似 是否可以告诉我在Windows上运行的程序使用Windows分隔符?还是应该始终将反斜杠转换 为正斜杠()?这里首选的策略是什么? 问题答案: 我看到“问题”在哪里。在golang-nuts上的讨论为我提供了提示,该提示始终使用并且是用于依赖平台的操作的函数。 在W
问题内容: 我想开发一个跨平台的应用程序。 Java是跨平台的吗?我的意思是,我可以在Windows中开发Java应用程序并在Mac OS X和Linux中使用它吗? 如果是,怎么办? 我发现用Java编写的应用程序有两个安装文件,一个用于Windows,另一个用于Mac。 这使我感到困惑。 任何插图或建议将不胜感激。 问题答案: Java是跨平台的吗? 从某种意义上说,Java是跨平台的, 即已
是否有计划开发用于跨平台交互的CordaRPCOps,例如will there,或者是我可以使用Python或中的RPC连接到Corda节点的方法。网络?
我正在更新一个密码加密实用程序,从完全自带的东西到一个围绕Jasypt和Bouncy Castle构建的。实用程序加密密码;然后,加密的字符串被补丁到属性文件中,并由Grails应用程序回读和解密。 我编写了一个Java命令行实用程序来加密密码。相关的Java代码是: