iOS:更改设备卷

Tri*_*ert 24 iphone volume ios

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

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

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

cer*_*che 32

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

#import <MediaPlayer/MediaPlayer.h>
// ...
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
musicPlayer.volume = 1.0f; 
Run Code Online (Sandbox Code Playgroud)

当用户holex正确地提到的属性volumeMPMusicPlayerController在IOS 7弃用.

  • 在iOS7中知道`volume`属性**已被弃用**非常重要.(更多信息请访问:https://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPMusicPlayerController_ClassReference/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instp/MPMusicPlayerController/volume) (6认同)
  • 记得在目标的链接阶段添加`MediaPlayer.framework`,在源文件中添加`#import <MediaPlayer/MediaPlayer.h>`. (5认同)

小智 23

你可以使用一个小技巧:

  MPMusicPlayerController* musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
  musicPlayer.volume = 1; // device volume will be changed to maximum value
Run Code Online (Sandbox Code Playgroud)


Waq*_*aja 15

您无法以编程方式更改设备卷,但MPVolumeView(音量滑块)可用于更改设备音量,但仅通过用户交互.

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

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