2013-05-20 22 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

相关问题