iOS:更改设备音量

有没有办法改变设备的音量? 我见过几个应用程序。

我有一个iOS应用程序的桌面版本,该设备将能够在一定程度上通过networking进行控制。 我想让用户做的事情之一是改变设备的音量,然后播放声音。 这可以帮助,如果你再次在你的沙发裂缝你的iPhone,但无法find它。

如果没有苹果发火,有没有办法可以做到这一点?

使用iPodMusicPlayer也会影响实际的iPod音量设置。 如果你想避免这一点,使用这个:

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

由于用户holex正确地提到了MPMusicPlayerController中的属性volume 在iOS 7中MPMusicPlayerController被弃用 。

你可以使用一个小技巧:

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

您不能以编程方式更改设备音量,但是MPVolumeView (音量滑块)可以更改设备音量,但只能通过用户交互。

MPVolumeView是工具箱中的一个控件,您需要在您的项目中添加MediaPlayer.framework ,然后MPVolumeView将显示在界面生成器的工具箱中。

编辑1: MPVolumeView使用也用于振铃音量的设备音量。 如果您想要应用程序级别的音量, AVAudioPlayer就在那里。 在这种情况下,您可以使用音量属性以编程方式设置您的应用程序音量(不是设备音量)。 但是,您可以使用UISlider控件从用户获取音量input并将其设置为AVAudioPlayer