iphone - 在 iOS5 中检测静音模式?

标签 iphone ios ipad ios5 silent

我以前用过这个方法来检测静音开关是否开启:

- (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;
}

这在我的 iPad 或 iPhone 上的 iOS5 中不再有效。这是一个已知的问题?我无法在堆栈溢出或 Apple 开发论坛上找到任何答案。

希望你能帮助...

最佳答案

自 iOS 5 以来,我们将无法再检测静音开关状态...

Apple 的答案在已接受的答案中:Detecting the iPhone's Ring / Silent / Mute switch using AVAudioPlayer not working?

关于iphone - 在 iOS5 中检测静音模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7798891/

相关文章:

ios - 在 Collection View 中交换单元格时保持单元格旋转

ios - 将 2 个值组合成一个 NSPredicate

ios - 这个 iOS 应用程序使用分段控制吗?

iphone - 需要一些关于属性(property)的解释

iphone - UIWbView 在 iPhone SDK 中使用 UIProgressView 加载多个 URL

iphone - 本地化:在模拟器中更改语言时应用程序崩溃

javascript - 有没有一种方法可以让网站确定它是否正在 iPad 上查看以及是否正在使用 iPhone/Android/Pre 查看

ios - 单击SubRowAtIndexPath中的Button时,SKSTableView的索引路径错误

ios - MBProgressHUD ,多次崩溃

iphone - 自定义事件指示器弹出窗口