Swift:如何通过编程设置iPhone音量

13

我想要创建一个闹钟应用程序,我注意到像Sleep Cycle这样的应用程序会在闹钟响起之前将音量设置为最大,即使您已将音量调低。

我尝试使用AVAudioPlayer,但我发现在MPVolumeView中用户必须手动设置。 有没有办法在不需要用户参与的情况下增加音量?

谢谢您的帮助。

如果可以,请提供Swift代码。

1个回答

32

您只需要导入MediaPlayer即可。您可以按照以下步骤操作:

import MediaPlayer        

并将音量设置为最大

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

2
这就是全部!谢谢。 - Charles
3
最佳解决方案!谢谢! - Dmitry
8
我认为这很冒险,可能是拒绝应用的理由,并且最好不要使用这种不稳定的解决方案。我无法想到其他编程方法,但请注意,这可能违反条款。 - Manny
2
这在iOS 11.4上无法工作,请告诉我是否有其他方法。 - escullz
4
针对iOS 11.4版本,您可以使用以下代码来检测设备是否已启用"低功耗蓝牙(BLE)"功能:if let cbManager = CBCentralManager(delegate: nil, queue: nil, options: [CBCentralManagerOptionShowPowerAlertKey: false]) { switch cbManager.state { case .unknown, .resetting, .unsupported: print("BLE is not available") case .unauthorized: print("BLE is unauthorized") case .poweredOff: print("BLE is powered off") case .poweredOn: print("BLE is powered on") @unknown default: fatalError() } }请注意,您需要导入CoreBluetooth库才能使用此代码。 - Andrea Gorrieri

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