iOS: cambie el volumen del dispositivo

¿Hay alguna forma de cambiar el volumen del dispositivo? He visto varias aplicaciones hacerlo.

Tengo una versión de escritorio de la aplicación iOS y el dispositivo podrá controlarse en cierta medida a través de la networking. Una de las cosas que quiero permitir al usuario es cambiar el volumen del dispositivo y luego reproducir un sonido. Esto puede ayudar si pierde su iPhone en una grieta en su sofá de nuevo, pero no puede encontrarlo.

¿Hay alguna manera de que puedas hacer esto sin que Apple se enoje?

El uso de iPodMusicPlayer también afectaría la configuration real del volumen del iPod. Si quiere evitar eso, use esto:

#import <MediaPlayer/MediaPlayer.h> // ... MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer]; musicPlayer.volume = 1.0f; 

Como el usuario holex mencionó correctamente el volume propiedad en MPMusicPlayerController está en desuso en iOS 7 .

Puedes usar un pequeño truco:

  MPMusicPlayerController* musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; musicPlayer.volume = 1; // device volume will be changed to maximum value 

No puede cambiar el volumen del dispositivo de manera progtwigda; sin embargo, MPVolumeView (control deslizante de volumen) está ahí para cambiar el volumen del dispositivo, pero solo a través de la interacción del usuario.

MPVolumeView es un control en la caja de herramientas, debe agregar MediaPlayer.framework en su proyecto, luego MPVolumeView se mostrará en la caja de herramientas en el creador de la interfaz.

Edición 1: MPVolumeView utiliza el volumen del dispositivo que también se utiliza para el volumen del timbre. AVAudioPlayer está allí si quieres volumen de nivel de aplicación. En este caso, puede utilizar la propiedad de volumen para configurar el volumen de la aplicación (no el volumen del dispositivo) de forma progtwigda. Sin embargo, puede usar el control UISlider para get input de volumen del usuario y establecerlo en su AVAudioPlayer