[[UIDevice currentDevice]setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(sensorStateChange:)
name:@"UIDeviceProximityStateDidChangeNotification"
object:nil];
-(void)sensorStateChange:(NSNotificationCenter*)notification
{
if (_player.isPlaying)
{
if ([[UIDevice currentDevice] proximityState] == YES)
{
//切换成听筒模式
[_player pause];
[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryPlayAndRecorderror:nil];
UInt32 audioRoute =kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRoute), &audioRoute);
_player.volume = 0.5;
[_player play];
// [_musicPlayer play];
}
else
{
//切换成话筒模式
[_player pause];
UInt32 audioRoute =kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRoute), &audioRoute);
_player.volume = 1.0;
[_player play];
}
}
}
iOS音频自动调节
本文介绍了一种iOS设备上根据距离传感器的状态自动切换音频播放模式的方法。通过监听距离变化,实现从扬声器到听筒模式的平滑过渡,并调整音量。
3532

被折叠的 条评论
为什么被折叠?



