如何通过编程更改iOS设备的音量?

11

有没有一种通过编程方式改变设备音量的方法?也许可以使用音频会话吗?

4个回答

5

抱歉,我错过了那次讨论。 - DrCachetes
看这个:导入媒体播放器let volumeView = MPVolumeView() if let view = volumeView.subviews.first as? UISlider{ view.value = 0.1 //---0到1.0--- }这对我有用。 - Abdul Yasin

2

看这个:

import MediaPlayer

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

}

对我来说它能工作


这种方法在iOS 11.4中已经不再适用,请参考https://dev59.com/clwX5IYBdhLWcg3w-DfJ#50740234。 - Andrea Gorrieri

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

1
这会改变你正在播放的媒体的相对音量,但我很确定实际音量范围是从0到用户当前的音量设置。因此,如果用户将音量设置为1/2,则1.0的musicPlayer.volume设置实际上会给你1/2的音量。 - Duncan C
4
已经从iOS7中弃用。 - Mitul Bhadeshiya

1
"简陋但有效的方法(Swift 3):"
func setVolumeTo(volume: Float) {
  (MPVolumeView().subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}.first as? UISlider)?.setValue(volume, animated: false)
}

不要忘记 import MediaPlayer

这真的有效!只需确保在顶部执行 import MediaPlayer - Youssef Moawad
我得到了一个踩票,因此我认为它在一些新的iOS上不起作用。如果有人最终测试了这个,请在评论区告诉我们您正在使用哪个iOS。谢谢;) - budiDino

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接