
紅外感應(yīng)
今天項目需求,當(dāng)你播放音頻的時候,
靠近耳朵的時候,需要把 揚(yáng)聲器(外放) 轉(zhuǎn)為 話筒(內(nèi)放)
離開耳朵的時候,需要把 話筒(內(nèi)放) 轉(zhuǎn)為 揚(yáng)聲器(外放)
就跟你打電話的時候,聽筒和揚(yáng)聲器的轉(zhuǎn)換一樣!
//監(jiān)聽 聽筒模式or揚(yáng)聲器模式
//監(jiān)聽是否靠近耳朵
#pragma mark - 開啟紅外感應(yīng) YES開啟 NO關(guān)閉
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sensorStateChange:) name:@"UIDeviceProximityStateDidChangeNotification" object:nil];
#pragma mark - 監(jiān)聽是否靠近耳朵
-(void)sensorStateChange:(NSNotificationCenter *)notification;
{
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *sessionError;
if ([[UIDevice currentDevice] proximityState] == YES)
{
//靠近耳朵
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
}
else
{
//遠(yuǎn)離耳朵
[session setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
}
}