A Swift wrapper around AVPlayer with enhanced features for playing local and remote audio files.
AudioPlayer is a Swift library that wraps Apple's AVPlayer framework to simplify audio playback implementation for iOS, tvOS, and macOS applications. It provides enhanced features like automatic quality adjustment, retry mechanisms, and queue management while handling both local and remote audio files. The library solves common audio playback challenges like network interruptions and complex state management.
iOS, tvOS, and macOS developers building applications that require robust audio playback functionality, particularly those working with streaming audio or complex playback scenarios.
Developers choose AudioPlayer because it provides a production-ready audio solution with features that AVPlayer lacks out-of-the-box, including automatic retry logic, intelligent quality adjustment, and comprehensive queue management—all while maintaining a clean, delegate-based API that's easier to implement than raw AVPlayer.
AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically adjusts audio quality based on buffering interruptions and includes retry mechanisms for failed playback, as highlighted in the features list for real-world scenarios.
Supports enqueuing multiple audio items with playback modes like Repeat, Repeat All, and Shuffle, simplifying implementation for music or podcast apps.
Integrates with MPNowPlayingInfoCenter for lock screen and control center display, enabling seamless background audio control as shown in the usage examples.
Offers extensive configuration options through delegate-based event handling, allowing developers to tailor playback behavior to specific needs.
The todo list admits the lack of a fully working example project, which can hinder onboarding and debugging for new users.
Only supports Apple platforms, excluding cross-platform development for Android or web, which restricts its use in broader ecosystems.
Integration with Swift Package Manager is listed as a todo, forcing reliance on older dependency managers like CocoaPods or Carthage.
The todo list includes refactoring current state handling, suggesting potential instability or convoluted logic in managing playback states.