问题标签 [openal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1546 浏览

iphone - iPhone 上 OpenAL 声音缓冲区的最大数量

我正在为 iPhone 编写一个使用 OpenAL 的声音库。该应用程序在启动期间为每个声音生成一个唯一的缓冲区 ID。我遇到的问题是 OpenAL 无法生成超过 1024 个缓冲区 ID。

我会认为缓冲区 id 的总数会受到内存的限制,而不是一些预先确定的数字。我找不到任何文档来指定 iOS 设备上 OpenAL 可用的最大缓冲区数。

谁能确认这个 1024 个缓冲区的限制?

谢谢 :)

0 投票
1 回答
54512 浏览

opengl - 在 Ubuntu 中安装 OpenGL 和 OpenAL

如何在 Ubuntu Lucid lynx 中安装 OpenGL(带 GLUT)和 OpenAL(带 ALUT)?我尝试使用 configure 和 make 安装 Mesa 7.8.2(在 www.mesa3d.org 中介绍的方法),但它没有安装任何东西。我的系统安装了X.org的X,但是没有/usr/X11R6目录。那是问题吗?

0 投票
1 回答
5664 浏览

audio - 公开音高偏移

谁能告诉我为什么当我在公开赛中提高音高时音量会变低?音调越高,音量越低......

alSourcef(源,AL_PITCH,1.2f);alSourcef(源,AL_GAIN,1.0f);

使用此设置,音量仍然非常低。有没有办法欺骗它使增益超过1?也许这与距离有关?

仅供参考,源是从 AVrecorder 录制的声音,所以我不能将源音量设置得更高。

0 投票
2 回答
1428 浏览

audio - 如何在 OpenAL 中设置通道增益?

我试过了

并得到错误 0xA002。

0 投票
4 回答
456 浏览

iphone - 抑制 OpenGL ES (iPhone) 纹理/OpenAL 听起来内存占用的最佳方法?

我应该怎么办?我有一些 512x512 png。我将它们压缩为 PVR(导致质量很差),我正准备使用 pngcrush 工具压缩 PNG。PVR 的文件大小比 PNG 大 2 倍,也许我可以尝试使用 JPG 文件。

图像是否以压缩状态存储在内存中?或者压缩只在加载过程中计算?或者图像/纹理在内存中未压缩映射?

同样的问题也适用于声音。我尝试了不同的格式,如 wav、mp3、aac、aiff (caf),但似乎附加 soundManager 会占用相同大小的内存。

有没有办法减少实际内存消耗,或者压缩只是为了加快纹理/声音加载?

请给我一盏灯。

0 投票
2 回答
13562 浏览

ios - iOS:音频单元 vs OpenAL vs Core Audio

有人可以向我解释 OpenAL 如何适应 iPhone 上的声音模式吗?

似乎有不同级别的 API 用于处理声音。更高层次的很容易理解。

但是我的理解在底部变得模糊不清。有Core Audio、Audio Units、OpenAL。

这些之间有什么联系?openAL 是底层,核心音频(包含作为其较低级别对象之一的音频单元)的基础吗?

Xcode 似乎没有记录 OpenAL,但我可以运行使用其功能的代码。

0 投票
1 回答
1335 浏览

macos - Mac OS X 上的 OpenAL:设置 AL_SAMPLE_OFFSET 没有任何作用

在工作中,我们无法使用alSourcePause()暂停声音,并且无论如何我们可能希望以偏移量开始声音。

我们通过alSourcei(this->sourceId, AL_SAMPLE_OFFSET, this->sampleOffset);使用检索到的样本偏移量来执行“恢复” alGetSourcei()。我们尝试使用AL_SEC_OFFSET,AL_BYTE_OFFSETAL_SAMPLE_OFFSET-- 无济于事。我们已经读过声源需要处于“初始”状态;重新创建源并附加缓冲区,然后尝试跳过也没有帮助。

将缓冲区更改为跳过AL_BYTE_OFFSET不是解决方案,因为它会使循环复杂化。

流声音在较慢的机器上跳过;我们在实现多线程播放时遇到了麻烦。

由于我们的日程安排很紧,在 OS X 上的 OpenAL 上跳过部分简单声源的最佳方法是什么?

源代码可在我们的 Sourceforge 存储库中获得。

0 投票
1 回答
997 浏览

cocoa - 可可语音合成,将音频保存到缓冲区以在 OpenAL 中使用

我想在 osx 上将文本翻译成音频,与此处类似:http: //developer.apple.com/library/mac/#samplecode/CocoaSpeechSynthesisExample/Introduction/Intro.html。声音播放完毕后,我想将其保存到缓冲区中以供在 openAL 中进一步使用,这可能吗?

我现在看到的唯一方法是将语音保存为 .aiff,然后再次为 openAL 解析它,如果有一种方法不涉及先保存到硬盘驱动器,那就太好了。(我也对碳替代品持开放态度)

0 投票
1 回答
8725 浏览

c++ - OpenAL:如何创建简单的“麦克风回声”程序?

所以我想知道用于从默认麦克风读取数据并输出到默认扬声器的最短(就有效线路而言)开放 AL 代码是什么?

我正在 Visual Studio 2008 下的 windows 7 上开发

0 投票
1 回答
650 浏览

c++ - 为什么这样的 OpenAL 代码在 Visual Studio 2008 中会出现这样的错误?

所以总的来说,我的代码非常简单——我正在尝试编写麦克风回声程序,这是它的开始(在我看来——我对 OpenAL 很警惕)

当我尝试编译它时,它给了我 3 个错误

1)Error 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__alcCaptureSamples в функции "void __cdecl BlockingCapture(struct ALCdevice_struct *,unsigned char *,int)" (?BlockingCapture@@YAXPAUALCdevice_struct@@PAEH@Z) HelloOpenALMic.obj HelloOpenALMic

2)Error 2 error LNK2019: ссылка на неразрешенный внешний символ __imp__alcGetIntegerv в функции "void __cdecl BlockingCapture(struct ALCdevice_struct *,unsigned char *,int)" (?BlockingCapture@@YAXPAUALCdevice_struct@@PAEH@Z) HelloOpenALMic.obj HelloOpenALMic

3)Error 3 fatal error LNK1120: 2 неразрешенных внешних элементов C:\Users\Avesta\Documents\Visual Studio 2008\Projects\OJ\OJ\V3\Debug\HelloOpenALMic.exe HelloOpenALMic

顺便说一句:(我已将这篇文章作为我的代码的起点。)

如何摆脱它们?