Vérifiez si l'iPad est en mode silencieux

Dupliquer possible:
Détecter le mode silencieux dans iOS5?

J'ai utilisé le code ci-dessous pour vérifier si le mode silencieux est activé, il fonctionne comme prévu sur l'iPhone, mais sur l'iPad, il returnne haut-parleur malgré tout.

CFSsortingngRef state; UInt32 propertySize = sizeof(CFSsortingngRef); AudioSessionInitialize(NULL, NULL, NULL, NULL); AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state); if (CFSsortingngGetLength(state) == 0) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Silent mode" message:@"Please turn sound on" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; [alert release]; } 

Des idées comment le modifier pour fonctionner universellement?

Merci

Dan.

Dans votre XIB, vous pouvez append un slider pour vérifier le niveau de volume, donc vous pouvez savoir si le volume est silencieux et connaître le niveau du volume. Pour plus de compréhension de cette class, voici le lien http://blog.stormyprods.com/2008/09/proper-usage-of-mpvolumeview-class.html mais essayez ceci en premier:

Le code suivant va créer quelque chose comme une barre de volume.

 - (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] isEqualToSsortingng:@"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]]; } 

J'ai entendu dire que, pour une raison ou une autre, Apple ne vous permet pas de vendre une application si vous utilisez un certain cours (celui de mon exemple) mais je ne suis pas trop sûr de cela, je vérifie et je vérifie que vous êtes "autorisé" à l'utiliser. Mais le code devrait fonctionner.

Cette réponse SO répond bien:

Détecter le mode silencieux dans iOS5?

Et en ce qui concerne la réponse de Gabe, si sa réponse utilise effectivement une API privée, Apple rejettera votre application.