2012-05-04 25 views
8

在我的應用程序中,我使用AudioServicesPlaySystemSound播放小型caf文件。 在iPhone上運行我的應用程序並通過橫向按鈕更改音量時,應用程序的聲音也會變爲 ,但在iPad上,我應用程序中的聲音音量始終相同。 也許是因爲在iPhone上是鈴聲音量,而在iPad上則是設備音量。iPad上的AudioServicesPlaySystemSound Volume

如何在iPad上獲得相同的iPhone行爲?

對不起我的英文不好....

+5

檢查您的iPad設置,在一般 - >點擊聲音。確保「按鈕更改」設置爲ON。 –

+0

感謝喬納森,現在工作正常! – Marg

+1

聲音不再處於常規狀態,但具有自己的設置類別。 –

回答

5

我有同樣的問題,但如果你改變了系統聲音的按鈕所有的系統聲音將與您的應用程序的,可以進行修改量。我發現這個真的是煩人。 解決方案是使用AVAudioPlayer代替AudioServices:簡單,但方式更通用。在那裏,您可以通過編程來精確調整每個聲音的音量。

NSURL *soundurl = [[NSBundle mainBundle] URLForResource: @"mysound" withExtension: @"caf"]; 
AVAudioPlayer *mySoundPlayer =[[AVAudioPlayer alloc] initWithContentsOfURL:soundurl error:&error]; 
mySoundPlayer .volume=0.4f; //between 0 and 1 
[mySoundPlayer prepareToPlay]; 
mySoundPlayer.numberOfLoops=0; //or more if needed 

[mySoundPlayer play]; 
+0

這是否切斷了其他應用程序正在播放的聲音? –

+0

沒有。只適用於您在應用內部和內部定義的聲音。 – NightCoder