2011-04-04 38 views
0

這甚至有可能嗎?如果我設法在每次處理緩衝區時調用一個函數,會更加酷。除了輪詢任何其他的想法它欣源:d確定緩衝區何時在沒有在OpenAL中輪詢源時播放

+2

您的意思是輪詢來源? – geofftnz 2011-04-04 21:10:02

+0

+1事實上,我做到了,我們對此深感抱歉,我已經編輯了問題 – 2011-04-04 21:13:36

+0

下面是類似的東西:http://stackoverflow.com/questions/1046315/getting-notified-when-a-sound-is-done-playing-在-OpenAL的 – geofftnz 2011-04-04 21:20:29

回答

0

你知道有多少樣本中每個緩衝區,你知道的採樣率來源是在玩。這應該給你一個關於何時源將完成緩衝區處理的相當好的想法。

如果你感到非常強悍,你可以攻入OpenAL的軟源這一點。通過代碼的外觀,您可以將更改置於mixer.c文件的最後,在函數末尾的某處。

記憶,當然,OpenAL的軟是LGPL;因此您需要發佈/提供您對庫本身所做的任何更改。

如果您正在使用預包含的庫卡,那麼你就沒有太多的選擇。 OpenAL拒絕回調函數的想法。

+0

我想我明白你在說什麼,但是,我不知道我是否可以觸摸這個OpenAL(iOS)的實現。如果可以的話,只要實際處理與處理器相關,就知道每個緩衝區的採樣率和採樣數量對我有幫助嗎? (可能需要更多或更少)。 – 2011-04-05 18:04:52

+0

我懷疑你可以更改iOS版本的OpenAL,但我認爲你可以使用OpenAL-soft作爲插件,或者其他的東西。我不確定你對評論的其他部分的含義。處理聲音緩衝區所用的時間長度應該是更多或更少的處理器獨立。 – JCooper 2011-04-05 18:14:13

+0

我選擇你的答案,因爲即使iOS不能工作(我最終投票來源),也許它可以幫助其他人工作在不同的平臺上!謝謝! – 2011-04-05 18:21:15

相關問題