2013-05-20 51 views
0

我在使用SystemSoundID類的遊戲中播放聲音效果,並帶有一些奇怪的結果。我的一些聲音(包括下面的landed1)會根據音量按鈕更改音量,但其他樂器則會始終以全音量播放。以下是與這兩個聲音相關的所有代碼。SystemSoundID有時會隨着設備音量而改變

SystemSoundID deathsound; 

SystemSoundID landed1; 

...

NSURL * soundURL;

soundURL = [[NSBundle mainBundle] URLForResource:@"SMPKLanded1" withExtension:@"mp3"]; 
    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) soundURL, &landed1); 

soundURL = [[NSBundle mainBundle] URLForResource:@"SMPKDeathSound" withExtension:@"mp3"]; 
    AudioServicesCreateSystemSoundID ((__bridge CFURLRef) soundURL, &deathsound); 

...

AudioServicesPlaySystemSound(landed1); 

...

AudioServicesPlaySystemSound(deathsound); 

爲什麼會這兩個行爲如此不同,如果代碼和文件類型基本上是相同的?這個不成立!

回答

0

嗯,我終於明白了,經過過多時間讓自己瘋狂。其中一些正在與AVAudioPlayer同時播放,由於某種原因,它們符合音量按鈕,有些則不符合。我明顯的下一步將是做一個沉默的AVAudioPlayer,我現在已經完成了,程序按我的預期工作。

作爲後續問題,是否有人知道爲什麼AVAudioPlayer影響SystemSoundIDs

相關問題