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 關注
- 511 瀏覽
添加回答
舉報