A Swift library for displaying interactive audio waveforms in iOS and visionOS apps.
FDWaveformView is a Swift library that displays interactive audio waveforms in iOS and visionOS applications. It reads audio files and renders them as visual waveforms, enabling features like audio preview, scrubbing, and progress highlighting. The library handles rendering, zooming, and gesture interactions automatically.
iOS and visionOS developers building apps that incorporate audio playback, editing, or visualization, such as music players, podcast apps, or audio recording tools.
Developers choose FDWaveformView for its simple, declarative API that abstracts complex audio waveform rendering and interaction logic. It provides built-in gesture support, smooth animations, and high-quality rendering out of the box, saving significant development time.
Reads an audio file and displays the waveform
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers a straightforward API where setting audioURL automatically triggers waveform rendering, as shown in the quick start example, reducing boilerplate code.
Includes ready-to-use gestures for scrubbing, stretching, and scrolling, enabled via properties like doesAllowScrubbing, making interactive waveform control easy.
Features antialiased drawing and AutoLayout-aware re-rendering prevent jagged edges and pixelation, ensuring crisp visuals on various screen sizes.
Supports smooth property animations, as demonstrated with highlightedSamples changes, providing polished user experience without extra effort.
Only supports iOS 15+ and visionOS, making it unsuitable for cross-platform projects or apps targeting older iOS versions.
Designed for pre-recorded audio files; lacks native support for streaming audio or real-time waveform generation, which is a restriction for live audio apps.
Handling audio files without extensions requires workarounds, as noted with the Stack Overflow link, indicating potential setup hurdles for certain use cases.