Iphone 卷更改不会更改应用程序卷

Iphone 卷更改不会更改应用程序卷,iphone,objective-c,xcode,avaudiosession,Iphone,Objective C,Xcode,Avaudiosession,我们正在使用下面的代码,并通过应用程序多次调用此代码来播放按钮和应用程序声音。目前,我们遇到一个问题,设备上的卷控件不会更改内部应用程序卷。我们可以将音量一直关闭,应用程序仍将播放声音。是否有方法检测硬件音量控制是否已更改并相应更新音量?我们不想更新滑块,只是让音频会话响应新设置的音量。事先非常感谢 AudioSessionInitialize(NULL, NULL, NULL, self); UInt32 category = kAudioSessionCategory_AmbientSoun

我们正在使用下面的代码,并通过应用程序多次调用此代码来播放按钮和应用程序声音。目前,我们遇到一个问题,设备上的卷控件不会更改内部应用程序卷。我们可以将音量一直关闭,应用程序仍将播放声音。是否有方法检测硬件音量控制是否已更改并相应更新音量?我们不想更新滑块,只是让音频会话响应新设置的音量。事先非常感谢

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);

我已经在同一个问题上做了研发,你可以通过使用改变外部设备的音量来改变音量滑块

MPMusicPlayerController *_musicController = [MPMusicPlayerController iPodMusicPlayer];
下面有几个链接,也许这些可以帮助你

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

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


我们实际上遇到了一个问题,即加载应用程序后,外部硬件音量控制不会改变应用程序中的音量。因此,如果应用程序加载,并且你可以听到声音,你可以将声音调低,但应用程序中的声音仍然很大。我是否需要启用音频会话,以允许硬件按钮改变音频会话的声音?这是一个相当奇怪的问题。感谢这方面的进展?我现在也遇到了同样的问题。谢谢,这方面有进展吗?我现在也遇到了同样的问题。非常感谢。