3 回答
TA贡献1830条经验 获得超3个赞
经过苹果最近的拒绝
不要使用这个。Apple现在使用一些补丁程序,如果使用任何私有API,该补丁程序将立即拒绝您的应用程序-尽管应注意此处App Store上的相当多应用程序已经使用了该补丁程序,并且仍然存在!
现在唯一的方法是让AVAudioPlayer准备播放但不播放([player prepareToPlay])。这似乎可以根据翘板按钮调整应用程序的音量。
当前没有其他已发布的方法来处理此问题。
请阅读以上说明
是的,使用MPVolumeView
MPVolumeView *volume = [[[MPVolumeView alloc] initWithFrame:CGRectMake(18.0, 340.0, 284.0, 23.0)] autorelease];
[[self view] addSubview:volume];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
for (UIView *view in [volume subviews]){
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
volumeViewSlider = view; //volumeViewSlider is a UIView * object
}
}
[volumeViewSlider _updateVolumeFromAVSystemController];
-(IBAction)volumeChanged:(id)sender{
[volumeViewSlider _updateVolumeFromAVSystemController];
}
这将为您提供一个滑块(与ipod中使用的滑块相同),其值将更改为电话的音量
您将收到一个编译时警告,该视图可能不会响应_updateVolumeFromAVSystemControl,而只是忽略它。
- 3 回答
- 0 关注
- 484 浏览
添加回答
举报