如何为AVPlayer设置音量

时间:2019-06-28 21:53:57

标签: ios swift avplayer

我正在尝试为AVPlayer设置音量,但似乎不起作用。它占用系统容量,并且忽略代码中设置的值。以下是我的代码。我们如何设置音量?

let player = AVPlayer(url: URL(string:recordingFileURL)!)
let playerController = AVPlayerViewController()
playerController.player = player
playerController.videoGravity = AVLayerVideoGravity(rawValue: AVLayerVideoGravity.resizeAspectFill.rawValue)

self.present(playerController, animated: true) {
    player.play()
    player.volume = 0.8 // Doesn't have any affect
}

3 个答案:

答案 0 :(得分:2)

player.volume = 0.8

此属性在iOS上最有用,用于控制AVSampleBufferAudioRenderer相对于其他音频输出的音量,而不是用于设置绝对音量。

答案 1 :(得分:0)

Apple Docs说这是不可能的。

  

此属性用于控制播放器相对于系统音量的音频音量。在iOS中没有编程的方式来控制系统音量,但是您可以使用MediaPlayer框架的MPVolumeView类来呈现用于控制系统音量的标准用户界面。

由于AVPlayer的音量是相对于系统音量的,所以您绝不能强迫AVPlayer播放的音量大于系统音量。

答案 2 :(得分:0)

您在评论中说:

  

我的假设是上面代码中设置的值应该覆盖系统卷的值

这个假设是错误的。如果系统音量为0.2,而您将播放器的音量设置为0.8,则您所做的就是使播放器更加柔和(0.16)。正如the documentation告诉您的:

  

此属性用于控制播放器相对于系统音量的音频音量。在iOS中没有编程方式来控制系统音量。