使用 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];