iOS:更改设备卷

时间:2011-02-01 05:53:10

标签: iphone ios volume

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

我有一个iOS应用程序的桌面版本,该设备将能够在某种程度上通过网络进行控制。我想让用户做的一件事就是更改设备音量然后播放声音。这可以帮助你再次将你的iPhone放在沙发上的裂缝中,但找不到它。

如果没有Apple生气,有没有办法可以做到这一点?

3 个答案:

答案 0 :(得分:32)

使用iPodMusicPlayer也会影响实际的iPod音量设置。如果你想避免这种情况,请使用:

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

用户holex正确提及volume中的MPMusicPlayerController属性为deprecated in iOS 7

答案 1 :(得分:23)

你可以使用一个小技巧:

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

答案 2 :(得分:15)

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

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

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