2009-02-21 6 views

Répondre

25
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; 

currentVolume = musicPlayer.volume; 

Ceci est maintenant OBSOLETE iOS8 .0 alors essayez le

#import <AVFoundation/AVAudioSession.h> 

AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
CGFloat volume = audioSession.outputVolume; 
+0

Ceci est la vraie réponse! –

+2

Ceci renvoie le niveau de volume de la musique, et non le niveau du volume du système. –

+0

Ce sont les mêmes. – amergin

2

Celestial.framework a une classe AVSystemController qui vous permet d'obtenir et de définir le volume actuel. Malheureusement, il est une classe privée si Apple ne sera pas l'accepter dans les soumissions App Store

Si elle aide, vous pouvez abuser de la classe MPVolumeView publique un peu: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

+0

Comment ai-je pu rater ça? Merci! –

+0

Salut, rpetrich, est-il possible de changer le volume du système via le MPVolumeView ... – iXcoder

+0

Robin: oui, c'est possible, mais ne vous attendez pas à avoir votre application dans le magasin si vous le faites (et il existe des méthodes beaucoup plus simples accès facile dans Celestial) – rpetrich

0

Ajouter cadre MediaPlayer suivant dans votre projet

enter image description here

.h (fichier en-tête)

{ 

    MPMusicPlayerController *musicPlayer; 

} 

.m (fichier de mise en œuvre)

- (void)viewDidLoad 

{ 

//get device volume level 

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 

    float deviceVolumeLevel = musicPlayer.volume; 

    NSLog(@"Current device volume level : %f",deviceVolumeLevel); 
} 
0

rapide 3.0

..

import AVKit 
.. 
    // get current level: 
    let audioSession = AVAudioSession.sharedInstance() 
    let volume : Float = audioSession.outputVolume 
Questions connexes