MPMusicPlayerController setVolume 是 deprecated since iOS 7
有没有其他方法可以改变系统音乐的音量?最好没有用户交互。 它的重要功能:为 AppStore 中的任何闹钟自动增加音量。
最佳答案
准确回答你的问题: 是的,还有其他无需用户交互即可更改系统音量的方法。
直到最近,我一直认为只有使用 private API 才能以编程方式使用 MPVolumeView 更改音量。但我刚刚证实,改变 volumeSlider 的值和伪造 slider 的 touchUP 事件是有效的:
MPVolumeView* volumeView = [[MPVolumeView alloc] init];
//find the volumeSlider
UISlider* volumeViewSlider = nil;
for (UIView *view in [volumeView subviews]){
if ([view.class.description isEqualToString:@"MPVolumeSlider"]){
volumeViewSlider = (UISlider*)view;
break;
}
}
[volumeViewSlider setValue:1.0f animated:YES];
[volumeViewSlider sendActionsForControlEvents:UIControlEventTouchUpInside];
(当 slider 接收到touchUP事件时,它会调用自身的_commitVolumeChange
方法,这将改变系统音量)
关于iOS 7 : MPMusicPlayerController volume deprecated. 现在如何改变设备音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19218729/