Tag: 沉默

为什么$ .getJSON默默地失败?

当返回的数据不是有效的JSON时,jQuery的$.getJSON静静地失败似乎非常不方便。 为什么这是无声的失败实施? 什么是最简单的方式来执行更好的失败行为getJSON(例如抛出一个exception, console.log()或其他)?

如何在静音模式下开始播放audio并locking在iOS 6中?

最终用户进程 打开应用 打开“静音模式”。 按'lockingbutton' 应用程序仍可以在数小时后开始播放声音,而不是在此期间播放任何audio。 这样做的应用程序 许多闹钟应用程序已经设法做到这一点,我不认为他们正在使用沉默的audio,以保持应用程序运行,因为他们不听起来,如果你真的退出应用程序与家庭。 闹钟临 我的时钟 波形报警 惊慌 的iHome … …他们是否保持循环运行后被locking一些如何或它是一个通知(它无法播放声音沉默)启动应用程序备份播放audio或其他方法? 现行方法已实施 AVAudioPlayer使用: AudioSessionInitialize(nil, nil, nil, nil); AudioSessionSetActive(YES); UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory); 并将Info.plist设置为: 所需的背景模式(UIBackGroundModes) – 应用程序播放audio(audio) 现在 即使在应用程序正在运行和屏幕上时,我也可以播放audio。 如果audio已经运行,那么应用程序可以通过主屏幕buttonclosures,audio将会运行。 但是如果应用程序没有播放audio,并且屏幕被locking,所有的线程都将被终止,audio也不会播放。 这些应用程序如何设法解决这个问题? 迄今为止发现的可能方法 答:使用“beginBackgroundTaskWithExpirationHandler:”以无限循环保持应用程序无限期运行。 优点: 看起来你可以在很多情况下完成这项工作,甚至当用户按下回家时也是如此。 缺点: 据我所知,这与苹果政策相违背。 将会使用更多的资源 注释: 我几乎已经有了这个工作,可能会有一些调整。 这似乎不是所有这些其他警报正在做的事情,因为他们不会继续运行,如果你按家庭BTN。 这表明他们使用了一些方法,允许他们在locking状态下运行但不在BG中。 (这是我需要的) 另外,当你问你有多less时间跑步时,你会得到10分钟。 通过在那里放下一个无限循环,数字实际上会下降到0,然后进入底片数小时。(testing)我不知道这将在现实世界或应用程序接受方面如何performance。 B.使用无声audio循环来构成连续audio播放媒体中心 优点: 在locking状态下工作,并在大多数情况下保持运行。 缺点: […]

在iOS5中检测静默模式?

过去我使用过这种方法来检测无声开关是否启用: – (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。 这是一个已知的问题? 我一直没能find任何堆栈溢出或苹果开发论坛的答案。 希望你能帮助…