波形

一个 SwiftUI 包,用于显示音频文件的交互式波形。

Zooming Waveform

该项目目前处于非常早期的阶段,是作为 SwiftUI Jam 2021 的一部分创建的。Jam 结束后的代码将在 swiftuijam 分支中。

安装

要将其包含在您的 Xcode 项目中,请点击 File | Swift Packages | Add Package Dependency… 并输入以下 URL

https://github.com/pixlwave/Waveform

目前,您需要选择 Branch 并确保它设置为 main,直到 v0.1.0 发布。

用法

Waveform Selection

要使用 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)

注意事项