2012-11-14 55 views
0

iOS SDK是否提供了一種方法,允許應用程序啓動加載的聲音並知道播放完成或仍在播放?iOS API方法,詢問是否應用程序加載和啓動的應用程序仍在播放

我使用this音頻庫,但它缺乏那種功能

這些都是我一直在使用

要加載聲音效果或背景音樂的功能:

OSStatus SoundEngine_LoadBackgroundMusicTrack(const char* inPath, Boolean inAddToQueue, Boolean inLoadAtOnce) 

OSStatus SoundEngine_LoadEffect(const char* inPath, UInt32* outEffectID) 

OSStatus SoundEngine_LoadLoopingEffect(const char* inLoopFilePath, const char* inAttackFilePath, const char* inDecayFilePath, UInt32* outEffectID) 

玩他們

OSStatus SoundEngine_StartBackgroundMusic() 

OSStatus SoundEngine_StartEffect(UInt32 inEffectID) 

回答

0

this問題的答案是非常有益的,因爲Stormyprods'的聲音引擎是OpenAL的

包裝

我用下面的代碼:

ALint sourceState; 
alGetSourcei(soundID, AL_SOURCE_STATE, &sourceState); 

if (sourceState != AL_PLAYING) 
{ 
    SoundEngine_StartEffect(soundID); 
} 
else 
{ 
    printf("already playing sfx %d\n", soundID); 
} 
0

我敢打賭,它不是poss由於隱私問題,但我不確定。

+0

如果什麼聲音是一個由我的應用程序加載?這不可能嗎? – rraallvv

+0

聽起來像是一個不同的問題,對於這個問題,但也許你不需要,你需要做什麼?你想用這些信息做什麼? – Ali

+0

例如,在SoundEngine_LoadEffect加載的一系列聲音效果中,當事件被觸發時播放,我想播放當前未播放的聲音效果,僅用於多種。除此之外,播放聲音的事件可能在任何時候都被觸發,即使已經播放sfx – rraallvv

相關問題