Audio Kit 查看文件波形的相关源代码,看了下,挺简单的
拿到音频采样数据,用视图去展现,完了
1,拿到音频采样数据
获取的浮点数数据,长这样
-0.014434814
-0.016998291
-0.0184021
-0.017547607
// ...
获取的浮点数数据,在 -1 到 1 之间
1.1 拿到音频文件
let url = Bundle.main.resourceURL?.appendingPathComponent("Samples/beat.aiff")
let file = try! AVAudioFile(forReading: url!)
1.2 拿到第一个声道的数据
public
convenience init?(file: AVAudioFile) {
let size = Int(file.length)
self.init(count: size)
guard let data = file.toFloatChannelData() else { return nil }
// 循环大法好
for i in 0 ..< size {
// 取第一个声道的数据
self[i] = data[0][i]
}
}
1.2.1 获取声道的浮点数数据
public func toFloatChann