2012-04-16 4 views
0

J'ai besoin de l'utilisateur pour contrôler le volume de support de l'appareil. J'ai vu beaucoup de solutions utilisant l'affichage du volume ou AVAudioPlayer, mais je veux utiliser les boutons de volume de l'appareil pour régler le volume de l'application, comme de nombreuses applications.Volume audio de l'application

Merci!

Répondre

0

Pour utiliser cette fonctionnalité, vous devez définir la session audio à lire. Cela se fait avec quelque chose comme ceci:

AVAudioSession *session = [AVAudioSession sharedInstance]; 
[session setCategory:AVAudioSessionCategoryPlayback error:nil]; 
+0

Vous devez activer la session ou ce que cela suffit? – sooper

+0

L'entrée/la diminution du niveau sonore est effectuée par le système d'exploitation – Manuel

+0

Par exemple: Mon volume de périphérique est plein, puis je démarre mon application et change le volume à la moitié. Si je quitte mon application, le volume de mon appareil doit être plein, et si une nouvelle entrée dans mon application, il devrait être par la moitié. Cette solution va le faire? – douglasd3

0

jetés dans appdelegate

- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    { 
     [[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(volumeChanged:) 
     name:@"AVSystemController_SystemVolumeDidChangeNotification" 
     object:nil]; 
    } 

    - (void)volumeChanged:(NSNotification *)notification 
    { 
     float volume = 
     [[[notification userInfo] 
      objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"] 
     floatValue]; 

     // Do stuff with volume 
    } 
Questions connexes