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窗口会显示新的音量)