我似乎无法在SDK中找到如何以编程方式感知iPhone上的静音按钮/开关.当我的应用程序播放背景音乐时,它会正确响应音量按钮,而我没有任何代码可以遵循,但是,当我使用静音开关时,它只是继续播放.
如何测试静音的位置?
(注意:我的程序有自己的静音开关,但我希望物理开关覆盖它.)
谢谢!
我需要在我的iPhone应用程序中循环播放.caf文件.
AVAudioPlayer看起来很有前途.但是有一个问题.即使我按下iPhone上的静音按钮,它也不会停止或静音.
我知道在iOS 5中无法以编程方式找出是否按下了静音按钮.
所以,我需要知道的可能是AVAudioPlayer或AVAudioSession的一些属性.或者,也许,我可能需要考虑其他库来循环播放我的.caf文件.
任何的想法?
有没有办法在iOS 7中检测静音模式?
以下代码不适用于iOS 5或更高版本
-(BOOL)silenced {
#if TARGET_IPHONE_SIMULATOR
// return NO in simulator. Code causes crashes for some reason.
return NO;
#endif
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if(CFStringGetLength(state) > 0)
return NO;
else
return YES;
}
Run Code Online (Sandbox Code Playgroud)