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