openal

    1热度

    1回答

    我是ObjectAL的新手。我用它来改变音高播放mp3。 我无法弄清楚如何在ObjectAL中“正确地”播放加载的缓冲区。当我打电话给[source play:buffer]时,声音只有几分之一秒。为了不断地“播放”一个缓冲区,我可以将它嵌入到无限循环中,然后正确地播放缓冲区。我假设我错过了一些基本观点,你能指出我的方向吗? 我的代码: [OALSimpleAudio sharedInstance

    1热度

    2回答

    我第一次在C++中使用OpenAL生成编码声音。 我想要做的是产生无限的窦波成双缓冲方式。 而问题是,声音是闪烁/滞后。我认为这是在缓冲之间,我不知道为什么它是这样的。 我的代码: void _OpenALEngine::play() { if(!m_running && !m_threadRunning) { ALfloat sourcePos[] = {0,0

    0热度

    1回答

    我是Objective-C的新手,对处理基本音频的正确方法感到非常困惑。我有一个简单的游戏完成,但一直与声音问题斗争了几天。 这是我的理解: AVAudioPlayer:似乎非常适合玩更长的声音,例如音乐主题覆盖游戏。 AudioServicesPlaySystem声音:似乎理想的快速声音效果,少于30秒。 当然,我会继续思考我将使用AVAudioPlayer作为主题音乐和SystemSound作

    2热度

    2回答

    我正在制作一款具有声音效果的游戏,并且使用了开放式人声和使用.wav格式的音频文件,但是这不会播放任何声音。iOS上的开放人群只允许使用caff要运行的文件,如果有的话,我怎么能将wav音频文件转换为caff?

    2热度

    1回答

    这是我第一次使用wav文件和fft文件。考虑下面的代码: char* loadWAV(const char* fn, int& chan, int& samplerate, int& bps, int& size){ char buffer[4]; ifstream in(fn, ios::binary); in.read(buffer, 4);

    1热度

    1回答

    我使用这行代码来设置声源的增益。我想增加声音的音量(如iOS中的闹钟),但如果我尝试将增益设置为大于1.0,则不起作用。 在文档有人说 /** * Indicate the gain (volume amplification) applied. * Type: ALfloat. * Range: ]0.0- ] * A value of 1.0 means un-attenuated/u

    2热度

    1回答

    获得缓冲区我试图使用OpenAL的缓冲区队列机制从磁盘流音频数据。我加载和排队4个缓冲区,启动源播放,并定期检查以刷新队列。一切看起来都很精彩,直到我第一次尝试将数据加载到我从alSourceUnqueueBuffers()获得的循环缓冲区中。在这种情况下,alBufferData()总是设置AL_INVALID_OPERATION,根据the official v1.1 spec,它似乎不应该能

    0热度

    1回答

    我越来越疯狂试图解决这个奇怪的行为。 我成功的创建了一个缓冲的OpenAL排队波等播放: static ALuint snd_buffer =0; #define NUM_BUFFERS 10 static ALuint source, buffers[NUM_BUFFERS]; static float pitch = 1.0f; static ALCdevice * m

    0热度

    2回答

    我使用OpenAL在我的NPAPI插件(浏览器插件)中播放来自网络流媒体的声音。当我打开多个浏览器的选项卡时,我关闭了其中一个选项卡,其他人的声音也消失了。任何人都可以给我一些帮助?或者任何人都可以给我一些关于播放音频流的建议,比如来自麦克风或其他设备的音频。当我使用音频队列服务时,它仍然不能支持多个实例。出于工作原因,我无法将我的代码粘贴到那里,对此抱歉。我使用的OpenAL某种程度上成为苹果的

    3热度

    1回答

    我找不到关于此功能的详细说明。我现在想知道的是: 这个函数会阻塞当前线程吗?或者它只是告诉设备开始异步播放音频任何返回一次?