- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有个问题。当我缓冲数据时,我得到 40963 错误,意思是 AL_INVALID_VALUE。程序员指南 (http://connect.creativelabs.com/openal/Documentation/OpenAL_Programmers_Guide.pdf) 说数据为空、正在使用的缓冲区或大小参数无效。
我知道数据不为空,并且缓冲区未在使用中。
但是“大小参数无效”的真正含义是什么?比如我要缓冲的每个数据包是20ms,数据大小是320,我的速率是8000khz。
谢谢
最佳答案
我在 java JOAL 和 found this in another post 中遇到了这个问题.我的代码如下:
ALut.alutLoadWAVFile(Sound.class.getResourceAsStream("/sound/sound.wav"), format, data, size, freq, loop);
if (al.alGetError() != AL.AL_NO_ERROR) {
System.err.println("Error in load.");
return AL.AL_FALSE;
}
al.alBufferData(buffer[0], format[0], data[0], size[0], freq[0]);
if (al.alGetError() != AL.AL_NO_ERROR) {
System.err.println("Error in alBufferData.");
System.err.println(buffer[0]);
System.err.println(format[0]);
System.err.println(data[0]);
System.err.println(size[0]);
System.err.println(freq[0]);
return AL.AL_FALSE;
}
return AL.AL_TRUE;
它打印了这个:
Error in alBufferData.
1
4355
java.nio.DirectByteBuffer[pos=0 lim=507538 cap=507904]
507538
44100
所以我尝试了以下方法:
return AL.AL_FALSE;
}
//Size needs to be adjusted to a multiple of 8
size[0] -= size[0]%8;
al.alBufferData(buffer[0], format[0], data[0], size[0], freq[0]);
这对我有用,但在你的情况下,大小是 4 和 8 的倍数。缓冲数据可能有一个最小大小,所以制作更大的数据包并调整它们的大小是可行的。
关于c++ - openAL - alBufferData 和 AL_INVALID_VALUE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5910583/
我正在尝试让 OpenAL 为游戏引擎播放一个简单的音频剪辑。我一直找不到一个好的库来处理 WAV 文件,所以我决定自己尝试解码它们。我一直对此有一些疑问,正在重写我的问题以获得更有针对性的答复。 这
我有个问题。当我缓冲数据时,我得到 40963 错误,意思是 AL_INVALID_VALUE。程序员指南 (http://connect.creativelabs.com/openal/Docume
我正在尝试使用OpenAL的缓冲区排队机制从磁盘流式传输音频数据。我加载并排入4个缓冲区,开始播放源,并定期检查刷新队列。一切看起来都很棒,直到我第一次尝试将数据加载到从alSourceUnqueue
所以,我正在构建一个线程化的 IMA ADPCM 解码器,将音频数据流式传输到 OpenAL(简短描述见下文),但我遇到了一些麻烦。 我的问题之一是有时我对 alBufferData 的调用: alB
我正在尝试使用 OpenAL 和 C/C++ 在 Android 上播放一些声音。我正在使用 SDL 框架。 即使我的代码很简单,我仍然会遇到 alBufferData() 的神秘崩溃: ALuint
我是一名优秀的程序员,十分优秀!