Swift:设置 AVAudioSession 输出音量

Aus*_*inT 1 ios swift

有没有办法设置 AVAudioSession 的输出音量?

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

目前我可以访问outputVolume,但我在找到设置它的方法时遇到了麻烦。

谢谢!

fou*_*dry 5

outputVolume属性是只读的。这是因为苹果公司坚信,如果应用程序意外地修改用户无法控制的音量,那么良好的用户体验将会被破坏。

来自 AVAudioSession 文档:

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

所以这是你唯一的(简单的)选择......

  MPVolumeView *myVolumeView =
    [[MPVolumeView alloc] initWithFrame:frame];
    [self.view addSubview: myVolumeView];
Run Code Online (Sandbox Code Playgroud)