GSYVideoPlayer is a flexible, feature-rich video playback library for Android that wraps popular media engines to offer a unified, customizable API. It supports full-screen playback, small-window (picture-in-picture–style) modes, and seamless orientation changes with proper lifecycle handling. The library provides gesture controls for brightness, volume, and seeking, along with thumbnail covers, playback speed adjustment, and caching options for smoother viewing on unreliable networks. Developers can embed players in RecyclerView lists, wire custom controls, and switch underlying renderers or decoders to match device capabilities and formats. Hooks for callbacks and state listeners make it straightforward to integrate analytics, preloading, and error recovery into apps. With a modular design and extensive demos, GSYVideoPlayer serves both as a practical production player and as a reference for building polished media experiences on Android.
Features
- Supports multiple playback engines: IJKPlayer, ExoPlayer, MediaPlayer, AliPlayer
- Advanced features like cache-on-play (AndroidVideoCache / SimpleCache), subtitles (external), danmaku (floating comments)
- Visual enhancements: filters (e.g., mosaic, blur), watermarks, GIF screenshot, frame capture
- Ad support: pre-roll, mid-roll, skippable overlays
- UI controls: gesture-based volume/brightness/scrubbing, custom rendering layers, full-screen/non-full-screen toggles
- Playback behaviors: list auto-play, seamless transition between thumbnails/details, multi-window picture-in-picture, small window preview