DSWaveformImage 6.1.1

DSWaveformImage 6.1.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2020年5月
SPM支持 SPM

Dennis Schmidt维护。




DSWaveformImage

DSWaveformImage 为在 iOS 中绘制音频文件的包络波形提供了几个接口。为此,您可以使用 WaveformImageDrawerWaveformImageView

此外,您还可以通过创建一个 WaveformAnalyzer 实例来直接获取波形(归一化)样本。

更多相关 iOS 控件

您可能对以下用 Swift 编写的 iOS 控件也感兴趣

安装

  • 使用 carthage: github "dmrschmidt/DSWaveformImage" ~> 6.1
  • 使用 cocoapods: pod 'DSWaveformImage', '~> 6.1'
  • 手动:检出仓库并构建 DSWaveformImage.framework,然后将其添加到您的项目中
  • 或者直接将 DSWaveformImage 文件夹添加到您的项目中。

使用

计算始终在后台线程上执行并返回,因此在执行任何UI工作之前,请确保返回主线程。

要使用WaveformImageDrawer创建一个UIImage

let waveformImageDrawer = WaveformImageDrawer()
let audioURL = Bundle.main.url(forResource: "example_sound", withExtension: "m4a")!
waveformImageDrawer.waveformImage(fromAudioAt: audioURL,
                                  size: topWaveformView.bounds.size,
                                  style: .striped,
                                  position: .top) { image in
    // need to jump back to main queue
    DispatchQueue.main.async {
        self.topWaveformView.image = image
    }
}```

To create a `WaveformImageView` (`UIImageView` subclass):

```swift
let audioURL = Bundle.main.url(forResource: "example_sound", withExtension: "m4a")!
waveformImageView = WaveformImageView(frame: CGRect(x: 0, y: 0, width: 500, height: 300)
waveformImageView.waveformAudioURL = audioURL

最后,要获取音频文件波形样本

let audioURL = Bundle.main.url(forResource: "example_sound", withExtension: "m4a")!
waveformAnalyzer = WaveformAnalyzer(audioAssetURL: audioURL)
waveformAnalyzer.samples(count: 200) { samples in
    print("so many samples: \(samples)")
}

它看起来如何

波形可以以3种不同的样式渲染:.filled.gradient.striped。类似地,还有3个位置.top.middle.bottom,它们相对于画布的位置。

  • 下面可以看到每个效果的影响

Screenshot

迁移

在6.0.0版本中移除了WaveformUIImage类别,以简化API。请参阅用法了解当前用法。

实时观看

SoundCard允许您发送带有音频消息的明信片。

DSWaveformImage用于在由SoundCard发送的明信片上绘制音频消息的波形。

App Store上查看。

Screenshot