web-dev-qa-db-fra.com

iOS: modifier le volume de l'appareil

Existe-t-il un moyen de modifier le volume de l'appareil? J'ai vu plusieurs applications le faire.

J'ai une version de bureau de l'application iOS et l'appareil pourra être contrôlé dans une certaine mesure sur le réseau. L'une des choses que je veux permettre à l'utilisateur de faire est de modifier le volume de l'appareil, puis de jouer un son. Cela peut aider si vous perdez à nouveau votre iPhone dans une fissure dans votre canapé, mais que vous ne le trouvez pas.

Existe-t-il un moyen de le faire sans Apple se mettre en colère?

24
Tristan Seifert

L'utilisation d'iPodMusicPlayer affecterait également le réglage réel du volume de l'iPod. Si vous voulez éviter cela, utilisez ceci:

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

Comme l'utilisateur holex a correctement mentionné la propriété volume dans MPMusicPlayerController est déconseillée dans iOS 7 .

32
ceriseche

Vous pouvez utiliser une petite astuce:

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

Vous ne pouvez pas modifier le volume de l'appareil par programmation, cependant MPVolumeView (curseur de volume) est là pour changer le volume de l'appareil, mais uniquement par l'interaction de l'utilisateur.

MPVolumeView est un contrôle dans la boîte à outils, vous devez ajouter MediaPlayer.framework dans votre projet, puis MPVolumeView sera affiché dans la boîte à outils dans le générateur d'interface.

Édition 1: MPVolumeView utilise le volume de l'appareil qui est également utilisé pour le volume de sonnerie. AVAudioPlayer est là si vous voulez un volume au niveau de l'application. Dans ce cas, vous pouvez utiliser la propriété volume pour définir le volume de votre application (pas le volume de l'appareil) par programmation. Cependant, vous pouvez utiliser le contrôle ISlider pour obtenir le volume d'entrée de l'utilisateur et le régler sur votre AVAudioPlayer

15
Waqas Raja