2012-05-24 49 views
0

因此,我已經通過了大部分有關可以找到的SO的相關問題,但仍然無法在沉默時播放音頻。我相信這可能是我犯的一個小錯誤。iOS:在無聲模式下無法播放我的聲音

我試圖播放一個小警報聲。這是我viewDidLoad方法的代碼:

AudioSessionInitialize (NULL, NULL, NULL, NULL); 
AudioSessionSetActive(true); 

這裏是我調用該方法時,我需要播放音頻剪輯

-(void)playAudioClip:(CFStringRef)clip{ 

CFBundleRef mainBundle = CFBundleGetMainBundle(); 
CFURLRef soundFile = CFBundleCopyResourceURL(mainBundle, clip, CFSTR("wav"), NULL); 

//Supposed to make sound playable even when silent right? 
UInt32 soundType = kAudioSessionCategory_MediaPlayback; 
UInt32 soundID; 

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(soundType), &soundType); 
AudioServicesCreateSystemSoundID(soundFile, &soundID); 
AudioServicesPlaySystmSound(soundID); 
} 

我得到這個最斷開來,並在證實了它Apple編程指南。我已經嘗試過將Uint32用於兩種用途,但這也沒有做任何事情,仍然沒有在鎖定/靜音模式下播放。有任何想法嗎?

+1

靜音模式用於靜音... – DanSkeel

+0

閱讀有關[AudioServicesPlaySystemSound]的文檔(http://developer.apple.com/library/ios/documentation/AudioToolbox/Reference/SystemSoundServicesReference/Reference/reference.html#//apple_ref/c/func/AudioServicesPlaySystemSound) – Joe

+0

@Joe我讀過,我不完全確定我應該從中獲得什麼。 –

回答

1

系統聲音在靜音模式下不播放。 (如名稱所示)如果您需要在靜音時播放音頻,則需要使用其他方法,如媒體播放器或其他音頻方法。看看蘋果公司播放音樂的例子。