问题标签 [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.
iphone - 在glulookat()之后计算相机向上向量?
我刚开始自学 openGL,现在将 openAL 添加到组合中。
我有一些行星散布在 3D 空间中,当我触摸屏幕时,我会为随机的行星分配声音,然后缓慢而平稳地将“相机”飞过来观看和聆听。动画/补间部分运行良好,但 openAL 部分并不安静。我通过为每一帧做一个微小的 translate() 和 gluLookAt() 来移动相机以保持平滑(调整相机位置和lookAt坐标)。问题似乎在于我从耳机中取出的立体声图像。在相机滚动或旋转后,左/右/上/下似乎有时会混淆。我很确定问题就在这里:
我想知道是否需要在每次 gluLookAt() 之后重新计算相机的 UP 矢量以理顺音频定位问题。这似乎可能是缺少的成分,但所涉及的数学似乎如此先进,我不是甚至确定从哪里开始..
1) 在每个 gluLookAt() 之后我需要重新计算向上向量是否正确?
2)有人可以教我如何计算向上向量吗?
那么这是在 gluLookAt() 之后获取相机向上矢量的正确方法吗?
c++ - 使用 OpenAL 录制音频
我一直在比较 C++ 中可用的各种音频库。我想知道,我从 OpenAL 开始有点卡住了。有人可以指出一个示例程序如何使用 C++ 中的 OpenAL 从麦克风录制。
提前致谢!
iphone - OpenAL 对比 iPhone 上的 AVAudioPlayer/AVAudioRecorder
iPhone 上的 OpenAL 和 AVAudioPlayer 有什么区别?似乎两者都可以用于播放/录制音频。你什么时候用?各自提供哪些优势/功能?
谢谢!-公吨
c++ - 音频输出到 .wav 文件是有效的,但是当使用 Vorbis 编码时,它会记录静音?
过去三天我一直在寻找虫子,但我有点放弃了。我已经浏览了 OpenAL SDK 和 Vorbis 示例中的所有示例,但无济于事,所以我希望有人能帮助我。
问题:我使用 OpenAL 录制音频,出于调试原因,我将其输出到 C:/out.wav,然后我可以使用任何选择的音频播放器播放它,它会播放我录制的任何内容。
我从 openAL 获得的完全相同的缓冲区是我输入 libvorbisenc的内容
(我请求一个带有 vorbis_analysis_buffer 的缓冲区并在其上运行 alcCaptureSamples,之后我让 vorbis 做这件事。)
重点是:为什么 vorbis 将静音返回到我的输出文件以及如何在我的文件“C:/out.ogg”中获得有效的压缩音频?
不要担心一些丢失或多余的括号,它们在复制+粘贴和删除
代码运行的注释时丢失了,但它的输出只是无效的。
相关定义等:
vorbis 设置
有问题的代码:
要消化的东西很多,但我真的希望有人能帮助我。
提前致谢。
iphone - iOS 上的 MP3 流式传输
我想使用 OpenAL 在 iOS 游戏中播放音乐。音乐文件以 mp3 格式存储,我想使用缓冲区队列流式传输它们。我使用AudioFileReadPacketData()将音频数据加载到缓冲区中。然而,播放缓冲区只会给我带来噪音。它适用于 caf 文件,但不适用于 mp3。我是否错过了解码文件的一些重要步骤?
我用来打开声音文件的代码:
我用来填充缓冲区的代码:
c++ - 循环流式传输 .ogg 音频 - OpenAL
我在循环流式 ogg vorbis 文件时遇到问题。
这是代码:
请注意我用 *** 标记的 2 行代码。
在所有情况下,文件都开始正常播放并在结束时倒带。然而 :
如果没有这 2 行代码,重复时文件听起来“已损坏”。如果让我们再重复一遍,听起来就更加“腐败”了。我相信这是因为 OpenAl 和 Vorbis 解码器在重复流时会“不同步”地写入/读取缓冲区。
如果我添加这 2 行代码,则文件会重复而不会损坏。但是,该文件不是无缝重复的;它在结束前倒带几厘米。我怀疑这是因为在倒带开始之前缓冲区没有播放到最后。
如果有人能伸出援助之手,我将不胜感激。
提前谢谢了,
账单
linux - OpenAL 输出到多个设备 (Linux)
我正在一台有两个声卡的计算机上开发一个 Linux 应用程序,我想在 OpenAL 中同时使用两个声卡,每个都在自己的上下文中。当我调用 OpenAL 的枚举扩展 alcGetString(NULL, ALC_DEVICE_SPECIFIER) 来获取可能的输出设备列表时,该列表仅包含“ALSA 软件”和“OSS 软件”。我知道这些只是 OpenAL 对软件设备的看法,所以当我选择其中任何一个时,OpenAL 只会将音频输出到在 ALSA 或 OSS 中配置的默认设备。我什至不确定这是否可能,但有没有办法将 OpenAL 上下文的音频输出定向到特定设备?这样,我可以创建两个上下文,每个设备一个,并向每个设备发送单独的音频。
谢谢,-Al
iphone - 在 iPhone 上通过 OpenAL 设置不同音量播放不同声音时出现奇怪的爆裂声
我在 iPhone 上使用 OpenAL 声音框架,并为各个声音设置不同的音量。我遇到了一个问题,从一种声音切换到另一种声音时,我听到了初始的爆裂声/咔嗒声。
当我的一个声音具有高音量 (1.0) 和另一个声音具有低音量 (0.2) 时,这真的很明显。当我击中响亮的声音,然后击中柔和的声音时,我会听到爆裂声/咔嗒声。但是当我从柔和的声音变为响亮的声音时,我什么都没有注意到。所以当从响亮的声音切换到柔和的声音时,确实会发生弹出/咔嗒声。
这是初始化声音方法:
这是播放功能:
这是我在播放后立即为每个声音设置音量的功能(我也尝试在播放前设置它):
非常感谢任何帮助,因为我已经尝试了我能想到的一切。我会很感激的。
iphone - 滚球音效
我正在使用 Chipmunk 和 openAL 为 iPhone 开发一个迷宫风格的应用程序。除了滚球的声音,我让一切正常。我尝试的是在每次更新球的位置时播放一个小声音,这样整体效果听起来就像球在滚动。根据这个论坛上的建议,我厌倦了使用球的速度来调整声音的音高。我有以下问题:
- 当我在花栗鼠回电中播放此声音时,我根本听不到声音。我可以在别处听到。
- 即使我以某种方式完成了这项工作,我应该播放的声音也必须非常非常短,因为球不会花费太长时间来滚动。必须有另一种方式。
有人可以帮忙吗?如果声音也包括在内,我什至可以为一个简单的应用程序付费。
iphone - AVassetExportSession 杀死了我的音频
当我开始 –exportAsynchronouslyWithCompletionHandler: AVassetExportSession 的方法时,我的音频停止播放。我正在使用 AudioQueue 和 OpenAL,它们都需要在开始导出会话后重新启动。有什么技巧可以让它们在不重新启动音频的情况下工作吗?