我试图从我的代码中找出Ring / Silent开关是响铃还是静音。有没有办法从我的程序中确定这一点。
由于
答案 0 :(得分:2)
我做了一些搜索,并在How to detect iphone is on silent mode找到了同样的问题。
为了完整起见,Neil的答案对我有用吗?
CFStringRef state = nil;
UInt32 propertySize = sizeof(CFStringRef);
AudioSessionInitialize(NULL, NULL, NULL, NULL);
OSStatus status = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if (status == kAudioSessionNoError) {
return (CFStringGetLength(state) == 0); // YES = silent
}
return NO;
应该注意,如果连接了耳机,这将不起作用。你将永远得到“HeadPhone”。这也是由coob报道的。
答案 1 :(得分:0)
答案是否定的。
您可以配置音频会话受交换机影响的方式,但无法判断它是打开还是关闭。