【问题标题】:iOS - Detecting Silent ModeiOS - 检测静音模式
【发布时间】:2017-08-11 09:17:20
【问题描述】:

我需要检测手机是否处于静音模式。我找到了old way 和new way(播放.caf 文件),但它们都不能正常工作。旧方式使用不推荐使用的工具,而新方式在两种情况下(静默模式和非静默模式)总是给出“否”。

在这一点上,任何人都可以提出任何建议吗?

【问题讨论】:

标签: ios objective-c iphone silent


【解决方案1】:

试试下面的解决方案,让我知道它是否适合你:

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

    }

【讨论】:

  • 不,这个解决方案就像旧方法一样,不起作用,因为正如我多次告诉过的,AudioSessionInitialize 和 getProperty 方法都已弃用。两种方式(无论是否沉默)都会返回 NO。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
相关资源
最近更新 更多