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 toFloatChannelData() -> FloatChannelData? {
guard let pcmBuffer = toAVAudioPCM

本文介绍了如何使用Audio Kit获取音频文件的采样数据,并通过SwiftUI展示波形。详细讲解了从音频文件中提取声道数据,转换为浮点数,以及如何在视图上绘制波形的过程。同时,解释了波形呈现一团的原因,与音频的帧数和采样率有关。
最低0.47元/天 解锁文章
3072

被折叠的 条评论
为什么被折叠?



