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回答

    我找不到關於此功能的詳細說明。我現在想知道的是: 這個函數會阻塞當前線程嗎?或者它只是告訴設備開始異步播放音頻任何返回一次?