web-dev-qa-db-ja.com

iOS:デバイスの音量を変更する

デバイスの音量を変更する方法はありますか?私はいくつかのアプリがそれをするのを見てきました。

IOSアプリのデスクトップバージョンを持っています。デバイスはネットワーク経由である程度制御できます。ユーザーに許可したいことの1つは、デバイスの音量を変更してからサウンドを再生することです。これは、ソファのひび割れで再びiPhoneを紛失した場合に役立ちますが、それを見つけることができません。

Apple怒らないでこれを行う方法はありますか?

24
Tristan Seifert

IPodMusicPlayerを使用すると、実際のiPodの音量設定にも影響します。あなたがそれを避けたいなら、これを使ってください:

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

ユーザー holex が正しく言及されているため、volumeのプロパティMPMusicPlayerControlleriOS 7では非推奨 です。

32
ceriseche

あなたは少しトリックを使うことができます:

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

プログラムでデバイスのボリュームを変更することはできませんが、MPVolumeView(ボリュームスライダー)はデバイスのボリュームを変更するためのものですが、ユーザーの操作によってのみ変更できます。

MPVolumeViewはツールボックスのコントロールです。プロジェクトにMediaPlayer.frameworkを追加する必要があります。そうすると、MPVolumeViewがインターフェイスビルダーのツールボックスに表示されます。

Edit 1:MPVolumeViewは、リンギングボリュームにも使用されるデバイスボリュームを使用します。 AVAudioPlayer アプリケーションレベルのボリュームが必要な場合に使用できます。この場合、volumeプロパティを使用して、アプリケーションボリューム(デバイスボリュームではない)をプログラムで設定できます。ただし、 ISlider コントロールを使用して、ユーザーからボリューム入力を取得し、AVAudioPlayerに設定できます。

15
Waqas Raja