项目中需要用到判断当前手机音量是否为0或者静音按键是否关闭的状态,本来以为这应该有现成的接口,但没找到,而且获取静音按键的状态还有点麻烦,所以在此记录下。
一. 获取手机系统的音量
获取音量是通过获取MPVolumeSlider来获取的,这里封装成类方法,通过objc_setAssociatedObject关联来存储。
/// 是否系统音量 静音
+ (BOOL)isSystmeVolumeMute {
NSLog(@"volume = %f", [self systemVolume]);
return ([self systemVolume] < 0.001) ? YES : NO;
}
/// 系统 音量
+ (float)systemVolume {
CGFloat volume = [self volumeViewSlider].value;
if (volume == 0) {
volume = [[AVAudioSession sharedInstance] outputVolume];
}
return volume;
}
#pragma mark - 系统 音量
/// 系统 音量 指示器
+ (UISlider *)getSystemVolumeViewSlider {
MPVolumeView *volumeView = [[MPVolumeView alloc] init];
UISlider *volumeViewSlider = nil;
for