iOS 控制系统音量

方式一:

  1. 导入MediaPlayer.framework
  2. 在需要控制音量的地方#import
  3. MPVolumeView中负责控制音量的是它的子视图MPVolumeSlider,而这个类并未对外公开,通过遍历获取MPVolumeView的子视图,把它找出来,并赋值:
MPVolumeView *volumeView = [[MPVolumeView alloc] init];
UISlider *volumeViewSlider = nil;
for (UIView *view in volumeView.subviews) {

   if ([view isKindOfClass:NSClassFromString(@"MPVolumeSlider")]) {

        volumeViewSlider = (UISlider *)view;
        break;
    }
}
// 没有延迟就不会生效不知道为啥
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

    [volumeViewSlider setValue:0.0f animated:NO];
    [volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
});

方式二:

官方文档上写的是
MP_DEPRECATED("Use MPVolumeView for volume control.", ios(3.0, 7.0)),但是实测13.3也好使
MPMusicPlayerController *playerController = [MPMusicPlayerController applicationMusicPlayer];
[playerController setVolume:0.0];

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