iOS 程序控制系统音量

使用 MediaPlayer Framework 下的MPVolumeView类来实现对系统音量的控制,吧。

Use a volume view to present the user with a slider control for setting the system audio output volume, and a button for choosing the audio output route. 这个是iOS官方API对MPVolumeView的解释。

MPVolumeView视图下有一个MPVolumeSlider类的子视图, MPVolumeSlider是一个UISlider的子类

mpVolumeViewParentView.backgroundColor = [UIColor clearColor];
MPVolumeView *myVolumeView =
[[MPVolumeView alloc] initWithFrame: mpVolumeViewParentView.bounds];
[mpVolumeViewParentView addSubview: myVolumeView];
[myVolumeView release];

MPVolumeSlider是一个私有类,在API 上是找不到具体的用法 ,好在他是UISlider的子类,我们就可以像下面一个去实现音量的间接控制。

UISlider *volumeSlider = nil;
for (UIView view in [myVolumeView subviews]){
if ([view isKindOfClass:[MPVolumeSlider class]){
volumeSlider = (UISlider
)view;
break;
}
}
float systemVolume = volumeSlider.value;
//改变系统当前音量
[volumeSlider setValue:.8f animated:NO];

你可能感兴趣的:(iOS 程序控制系统音量)