2012-04-24 124 views
1

我們使用下面的代碼並通過應用程序多次調用此代碼來播放按鈕和應用程序聲音。目前,我們遇到了設備上的音量控制不會更改內部應用程序音量的問題。我們可以將音量關閉,應用程序仍然會播放聲音。有沒有辦法檢測硬件音量控制何時發生變化並相應地更新音量?我們不想更新滑塊,只需讓音頻會話響應新設置的音量即可。非常感謝你提前。音量變化不會改變應用程序音量

AudioSessionInitialize(NULL, NULL, NULL, self); 
UInt32 category = kAudioSessionCategory_AmbientSound; 
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, 
         sizeof(category), 
         &category); 
AudioSessionSetActive(YES); 

NSString *path = [NSString stringWithFormat:@"%@/%@.wav", 
              [[NSBundle mainBundle] resourcePath], 
              sound]; 
SystemSoundID soundID; 
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO]; 

AudioServicesCreateSystemSoundID((CFURLRef)filePath, &soundID); 
AudioServicesPlaySystemSound(soundID); 
+0

這方面有何進展?我現在也遇到同樣的問題。謝謝 – 2014-03-12 07:58:57

回答

0

我已經做了[R & d對同一問題,則可以使用

MPMusicPlayerController *_musicController = [MPMusicPlayerController iPodMusicPlayer]; 

通過改變外接設備的音量改變音量滑塊下方有幾個環節也許這些幫助你。

  1. http://stackoverflow.com/questions/9227435/changing-device-volume

  2. http://oleb.net/blog/2009/07/the-music-player-framework-in-the-iphone-sdk/

+0

我們實際上遇到了一個問題,即在加載應用程序後,外部硬件音量控件不會改變應用程序中的音量。所以,如果應用程序加載,並且您可以聽到聲音,則可以將聲音降低,但應用程序中的聲音仍然很響。是否有需要啓用的音頻會話以允許硬件按鈕更改音頻會話的聲音?這是一個相當奇怪的問題。謝謝 – mejim707 2012-04-26 18:51:59

+0

這方面的進展如何?我現在也遇到同樣的問題。謝謝 – 2014-03-12 08:09:29