obtener el nivel actual de volumen del sistema en el iPhone
Pregunta
¿Hay alguna manera de conseguir el nivel actual de volumen del sistema en el iPhone?
Estoy pensando tal vez hay una manera de hacer una MPVolumeView
y obtener el valor de eso.
Solución
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];
currentVolume = musicPlayer.volume;
Esto es ahora obsoleta desde iOS8.0 a fin de tratar el siguiente
#import <AVFoundation/AVAudioSession.h>
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
CGFloat volume = audioSession.outputVolume;
Otros consejos
Celestial.framework tiene una clase AVSystemController
que le permite obtener y establecer 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 MPVolumeView
público un poco: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html
rápido 3.0
..
import AVKit
..
// get current level:
let audioSession = AVAudioSession.sharedInstance()
let volume : Float = audioSession.outputVolume
Añadir marco MediaPlayer en su proyecto
.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);
}