如何以编程方式更改iOS设备卷?

时间:2015-03-14 13:53:07

标签: ios objective-c avaudiosession

有没有办法以编程方式更改设备量?也许使用音频会话?

4 个答案:

答案 0 :(得分:5)

我很确定无法控制实际的设备音量(因为这也有点突兀)控制一些正在播放的媒体是另一回事。但是,您可以查看MPVolumeViewhttps://developer.apple.com/library/ios/documentation/MediaPlayer/Reference/MPVolumeView_Class/index.html以显示设置音量的视图。

这里也讨论了这个问题: How to change device Volume on iOS - not music volume

答案 1 :(得分:2)

看看这个:

import MediaPlayer

let volumeView = MPVolumeView()
if let view = volumeView.subviews.first as? UISlider{
    view.value = 0.1 //---0 t0 1.0---

}

它为我工作

答案 2 :(得分:1)

你走了,这对我有用。

#import <MediaPlayer/MediaPlayer.h>
musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
musicPlayer.volume = 1; // max volume
musicPlayer.volume = 0; // min volume (mute)
musicPlayer.volume = 0.0625; // 1 bar on the overlay volume display

答案 3 :(得分:0)

Hacky但有效( Swift 3 ):

func setVolumeTo(volume: Float) {
  (MPVolumeView().subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}.first as? UISlider)?.setValue(volume, animated: false)
}

别忘了import MediaPlayer