一个 SwiftUI 包,用于显示音频文件的交互式波形。
该项目目前处于非常早期的阶段,是作为 SwiftUI Jam 2021 的一部分创建的。Jam 结束后的代码将在 swiftuijam 分支中。
要将其包含在您的 Xcode 项目中,请点击 File | Swift Packages | Add Package Dependency… 并输入以下 URL
https://github.com/pixlwave/Waveform
目前,您需要选择 Branch 并确保它设置为 main,直到 v0.1.0 发布。
要使用 Waveform,请使用您的音频文件创建一个 WaveformGenerator 对象
let audioFile = try! AVAudioFile(forReading: URL))!
let generator = WaveformGenerator(audioFile: audioFile) // this generator object is observable
然后将其与选择范围(如果需要)一起传递给 Waveform
var body: some View {
Waveform(generator: generator, selectedSamples: $selection, selectionEnabled: .constant(true))
}
可以通过标准颜色修改器自定义配色方案
Waveform(generator: generator, selectedSamples: $selection, selectionEnabled: .constant(true))
.foregroundColor(waveformColor)
.background(backgroundColor)
.accentColor(selectionColor)
WaveformGenerator 的内存中。 目前,在解决此问题之前,值得关注您的应用程序的内存使用情况。