2009-02-21 9 views

Antwort

25
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; 

currentVolume = musicPlayer.volume; 

Das jetzt als von iOS8 ist veraltet .0 so versuchen die folgenden

#import <AVFoundation/AVAudioSession.h> 

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

Dies ist die echte Antwort! –

+2

Dies gibt die Lautstärke der Musik wieder, nicht die Lautstärke der Systemlautstärke. –

+0

Sie sind ein und dasselbe. – amergin

2

Celestial.framework hat eine AVSystemController Klasse, mit der Sie das aktuelle Volumen abrufen und einstellen können. Leider ist es eine private Klasse so wird Apple akzeptieren es nicht in App Store Einreichungen

Wenn es hilft, können Sie die öffentlichen MPVolumeView Klasse ein wenig missbrauchen: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

+0

Wie habe ich das vermisst? Vielen Dank! –

+0

Hi, rpetrich, ist es möglich, die systemweite Lautstärke über MPVolumeView zu ändern ... – iXcoder

+0

Robin: Ja, das ist möglich, aber erwarte nicht, dass du deine App im Laden hast (und es gibt viel einfachere Methoden, die das bieten) einfacher Zugang in Celestial) – rpetrich

0

hinzufügen Mediaplayer-Framework in Ihr Projekt

enter image description here

.h (Header-Datei)

{ 

    MPMusicPlayerController *musicPlayer; 

} 

.m (Implementierungsdatei)

- (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