当我们使用AVCaptureOutput
时,我们注意到音频数据和图像数据是顺序输入的。要获取音频音量信息而不会导致错误,我们发现了!使用以下代码段:
if output.connections[0].audioChannels.count > 0 {} else {}
我们认为有更好的方法。
func captureOutput(_ output: AVCaptureOutput,
didOutput sampleBuffer: CMSampleBuffer,
from connection: AVCaptureConnection) {
if output.connections[0].audioChannels.count > 0 {
let volume = connection.audioChannels[0].averagePowerLevel
} else {
// Codes for video
}
}