2009-02-21 13 views

Respuesta

25
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer]; 

currentVolume = musicPlayer.volume; 

esto es ahora obsoleta desde iOS8 0.0 así que pruebe la siguiente

#import <AVFoundation/AVAudioSession.h> 

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

¡Esta es la verdadera respuesta! –

+2

Esto devuelve el nivel de volumen de música, no el nivel de volumen del sistema. –

+0

Son uno y lo mismo. – amergin

2

Celestial.framework tiene una clase AVSystemController que le permite obtener y configurar el volumen actual. Por desgracia, es una clase privada por lo que Apple no lo aceptará en las presentaciones de la App Store

Si le ayuda, se puede abusar de la clase pública MPVolumeView un poco: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

+0

¿Cómo no se me olvida que? ¡Gracias! –

+0

Hola, rpetrich, ¿es posible cambiar el volumen del sistema a través de MPVolumeView ... – iXcoder

+0

Robin: sí, es posible, pero no esperes tener tu aplicación en la tienda si lo haces (y hay métodos mucho más simples que brindan fácil acceso en Celestial) – rpetrich

0

Añadir marco MediaPlayer en su proyecto

enter image description here

.h (Archivo de cabecera)

{ 

    MPMusicPlayerController *musicPlayer; 

} 

.m (archivo de implementación)

- (void)viewDidLoad 

{ 

//get device volume level 

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; 

    float deviceVolumeLevel = musicPlayer.volume; 

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

rápida 3.0

..

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