ZFPlayer is a customizable video player library for iOS that wraps AVPlayer with a polished set of controls and behaviors suitable for modern media apps. It supports full-screen playback, inline players embedded in table/collection cells, and seamless orientation changes with proper status-bar and safe-area handling. Gesture-driven controls—brightness, volume, and scrubbing—make the experience feel native, and the control layer is designed for easy theming or replacement. The library handles common edge cases such as auto-play on visibility, pausing when a cell scrolls off screen, and recovering from interruptions or errors. Its API encourages composition: you configure a player manager, container view, and control view so advanced features can be swapped without touching the core. With ample demos and extension points, ZFPlayer helps teams move quickly from a basic AVPlayer wrapper to a production-grade, interactive video experience.
Features
- Provides a customizable video player template for iOS
- Supports various player SDKs via ZFPlayerMediaPlayback protocol (e.g., AVPlayer, ijkplayer)
- Control layer customization via ZFPlayerMediaControl protocol
- Easy integration via CocoaPods (e.g., pods for ControlView, AVPlayer, ijkplayer)
- Includes default control view implementation (ZFPlayerControlView)
- MIT-licensed, with support for iOS 7.0+ per podspec