Swift:设置AVAudioSession输出音量

有没有办法设置AVAudioSession的outputVolume?

self.audioSession = AVAudioSession.sharedInstance() self.audioSession.setActive(true, error: nil) self.audioSession.addObserver(self, forKeyPath: "outputVolume", options: NSKeyValueObservingOptions.New, context: nil) self.audioSession.outputVolume 

目前我能够访问outputVolume,但我有麻烦find一种方法来设置它。

谢谢!

outputVolume属性是只读的。 这是由于苹果认为,如果应用程序意外地修改超出用户控制的音量,良好的用户体验将被打破。

从AVAudioSession文档:

全系统输出音量只能由用户直接设置; 要在您的应用程序中提供音量控制,请使用MPVolumeView类

所以这是你唯一(容易)的select…

  MPVolumeView *myVolumeView = [[MPVolumeView alloc] initWithFrame:frame]; [self.view addSubview: myVolumeView]; 

我可以在iOS 8上使用以下内容更改主音量

 #import <MediaPlayer/MediaPlayer.h> [[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0]; [[MPMusicPlayerController iPodMusicPlayer] setVolume:0.0]; 

有关信息,代码被称为通过cordova插件。 这会影响主音量(当调用代码时,设备音量popup窗口会显示新的音量)