我正在尝试为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
}
答案 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中没有编程方式来控制系统音量。