2009-02-21 3 views

risposta

25
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; 

currentVolume = musicPlayer.volume; 

Questo è disapprovato come di iOS 8 .0 così provare le seguenti

#import <AVFoundation/AVAudioSession.h> 

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

Questa è la vera risposta! –

+2

Restituisce il livello del volume della musica, non il livello del volume del sistema. –

+0

Sono la stessa cosa. – amergin

2

Celestial.framework ha una classe AVSystemController che consente di ottenere e impostare il volume corrente. Purtroppo si tratta di una classe privata per cui Apple non lo accetterà nelle osservazioni App Store

Se serve, si può abusare del pubblico MPVolumeView di classe un po ': http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

+0

Come mi sono perso questo? Grazie! –

+0

Salve, è possibile cambiare il volume del sistema tramite MPVolumeView ... – iXcoder

+0

Robin: sì, è possibile, ma non aspettarti di avere la tua app nello store se lo fai (e ci sono metodi molto più semplici che forniscono facile accesso in Celestial) – rpetrich

0

Aggiungi MediaPlayer quadro nel progetto

enter image description here

.h (file di intestazione)

{ 

    MPMusicPlayerController *musicPlayer; 

} 

.m (file di implementazione)

- (void)viewDidLoad 

{ 

//get device volume level 

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 

    float deviceVolumeLevel = musicPlayer.volume; 

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

SWIFT 3.0

..

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