iOS - 检测耳机孔是否存在耳机:

news/2024/11/7 15:36:17/



- (id)init
{self = [super init];if (self){/*OSStatus AudioSessionInitialize (CFRunLoopRef                      inRunLoop,               //运行循环的中断监听器回调应该被运行。传递NULL,使用主运行循环。CFStringRef                       inRunLoopMode,           //该模式的运行循环的中断监听功能将运行在。传递NULL,就相当于通过kCFRunLoopDefaultModeAudioSessionInterruptionListener  inInterruptionListener,  //中断监听器回调函数。应用程序的音频会话对象调用回调时,会话被中断及(如应用程序仍在运行)中断结束时。可以为NULL。见AudioSessionInterruptionListenervoid                              *inClientData            //想传递给你的中断监听器回调。);*/AudioSessionInitialize(NULL, NULL, NULL, NULL);AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange, audioRouteChangeCallback, (__bridge void *)(self));}return self;
}- (BOOL)isHeadphone
{UInt32 propertySize = sizeof(CFStringRef);CFStringRef state 	= nil;AudioSessionGetProperty(kAudioSessionProperty_AudioRoute ,&propertySize,&state);//根据状态判断是否为耳机状态if ([(__bridge NSString *)state isEqualToString:@"Headphone"] ||[(__bridge NSString *)state isEqualToString:@"HeadsetInOut"])return YES;elsereturn NO;
}void audioRouteChangeCallback(void *inClientData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData)
{SInt32 routeChangeReason;CFDictionaryRef routeChangeDictionary = inData;CFNumberRef routeChangeReasonRef	  = CFDictionaryGetValue(routeChangeDictionary, CFSTR(kAudioSession_AudioRouteChangeKey_Reason));CFNumberGetValue(routeChangeReasonRef, kCFNumberSInt32Type, &routeChangeReason);if (routeChangeReason      == kAudioSessionRouteChangeReason_OldDeviceUnavailable) {  //拔掉}else if (routeChangeReason == kAudioSessionRouteChangeReason_NewDeviceAvailable) {    //插入[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];}else if (routeChangeReason == kAudioSessionRouteChangeReason_NoSuitableRouteForCategory) {}
}





http://www.ppmy.cn/news/174435.html

相关文章

iPhone5还未上市,iPhone5爷们儿版外壳已经开卖 [多图]

曾经看到一则广告“让男人掌握令女人夜夜尖叫的秘密”,类比一下,苹果就是那家“掌握了令全世界人民日日夜夜尖叫的秘密”的牛逼公司,而且苹果的秘密还有着挺多花式,在眼下特指即将上市的 iPhone5。iPhone5的机身设计曾遭多次曝光&…

苹果发布AirPods 3,TWS真无线蓝牙耳机市场活力依旧

苹果在今日凌晨召开新品发布会,正式发布了 AirPods 3 等新品。AirPods 3 采用全新的轮廓设计,支持空间音频,拥有力度传感器、全新低失真驱动器等,带来强劲的低音和清脆的高音。 AirPods 3 支持动态头部追踪的 AirPods 搭配各个苹…

ipad耳机有声音,拔下耳机没声音的解决办法

一、多插拔几次耳机试试; 二、设置-通用-声音里确定打开了?确定打开还没有声音,那么就可能是多任务手势问题,那请先关闭手势,然后设置侧边开关用于锁屏,试试(我是这样搞好的)。

新发布的AirPods3华强北四代耳机如何选购,洛达1562E怎么样呢?

苹果发布了新一代的耳机airpods 3(华强北四代耳机)。今天就和大家来聊聊华强北四代耳顶配1562E六轴陀螺仪版本怎么样,以及怎么去选购! 老规矩文章可能过长,建议先收藏再观看 建议阅读时间5-10分钟。一、简单谈谈水果的airpods3 先给大家普及下…

耳机插头3.5与2.5三段与四段i版与n版等详解

一、耳机插头3.5与2.5三段与四段i版与n版等详解 在2009之前相信大家对各类数码产品诸多不同规格的耳机插头非常的头痛,不同的设备要用不同的耳机,非常的不便,在2009年9月1日国内统一标准,规定耳机插头2.5mm与3.5mm两种耳机插头为国…

iPhone5发布,杂谈

没必要说技术问题。到处都有。 说说别的。 创新,简而言之,就是重口味。第一次iPhone的创新性太强,大家都被刺激了一下,不适应,就像第一次吃辣一样,感觉很不爽,但是又很爽。不过第一代iPhone毕竟…

3.5mm耳机接口制式

3.5毫米手机的四级耳机接口其实还分为两种,一种是美标版,也有人称之为“苹果标准”,顾名思义,就是苹果产品iPhone手机用的耳机接口,同时,小米手机、三星手机、HTC的一部分手机也是使用的这款耳机标准&#…

适合苹果手机的蓝牙耳机哪款好点?果粉最爱的五款综合性能超强蓝牙耳机!

现代社会越来越科技化,蓝牙的使用也越来越普及,不过随着蓝牙耳机在时尚圈走红,越来越多蓝牙耳机厂商设计初衷已经不再围绕着蓝牙耳机的本质(音质、技术)来研发了。更多是设计得如何时尚、如何潮流。下面就跟大家推荐几…