Я думаю, что вы просите, чтобы выяснить, есть ли на iphone ограничение по громкости. Я искал ответ, но не смог его найти. Вот способ просто проверить уровень громкости, надеюсь, это поможет.
В вашей XIB вы можете добавить ползунок, чтобы проверить, какой уровень громкости у вас, так что в основном вы можете сказать, если он тихий, и узнать уровень громкости. Чтобы лучше понять этот класс, вот ссылка http://blog.stormyprods.com/2008/09/proper-usage-of-mpvolumeview-class.html, но попробуйте сначала:
Следующий код создаст что-то вроде панели громкости.
- (void)viewDidLoad {
// create a frame for MPVolumeView image
CGRect frame = volumeViewHolder.bounds; // CGRectMake(0, 5, 180, 0);
volumeView = [[[MPVolumeView alloc] initWithFrame:frame] autorelease];
[volumeView sizeToFit];
[volumeViewHolder addSubview:volumeView];
for (UIView *view in [volumeView subviews]){
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
volumeViewSlider = view;
}
}
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
}
- (void) volumeChanged:(NSNotification *)notify
{
[volumeViewSlider setValue:[[[notify userInfo] objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"] floatValue]];
}
Я слышал, что по какой-то причине яблоко не позволяет вам продавать приложение, если вы используете определенный класс (тот, что в моем примере), но я не слишком уверен в этом, я бы перепроверил и убедился, что вам «разрешено» его использовать. Но код должен работать.