我有一個OpenSL ES函數調用,在一個應用程序中不會導致任何問題,但會導致在另一個應用程序中出現問題,它們都運行在同一個設備上。OpenSL ES slCreateEngine導致錯誤
該生產線是:
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
如果結果是類型SLresult
的,engineObject是該類型SLObjectItf
我似乎得到的錯誤是:
05-19 11:56:27.007: ERROR/libOpenSLES(1425): slCreateEngine while another engine 0x299fa0 is active
似乎這不是從我的代碼記錄,但也許是由它造成的?那麼,什麼原因可能會導致此行在一個應用程序中產生錯誤,但不會導致其他錯誤?
是的,好吧,我可以理解他們爲什麼選擇這樣做。但是我是我的代碼中唯一一個在整個應用程序中使用OpenSL進行操作的人。我提到的那個其他應用程序關閉了引擎,並在每次運行時重新創建它。 :/ – ThaMe90 2011-05-20 06:26:24
那麼有可能獲得已經有效的引擎呢?因爲這會一次解決(大部分)我的問題。我一直在尋找這樣做的可能性,但是我一直未能找到對這種方法的參考......或者如果不可能,我該如何關閉活動引擎?正如我所知道的那樣,我不會創造它...... – ThaMe90 2011-05-20 09:08:09