Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. PlayerView

PlayerView

MITSwift0.2.6

An elegant wrapper API for AVPlayer that provides event handling via delegates instead of KVO.

GitHubGitHub
130 stars46 forks0 contributors

What is PlayerView?

PlayerView is a Swift library that provides a delegate-based wrapper around Apple's AVPlayer for iOS development. It simplifies video playback implementation by replacing the traditional Key-Value Observing (KVO) approach with cleaner delegate methods, making it easier to handle player events, controls, and status updates.

Target Audience

iOS developers building apps that require video playback functionality, particularly those who want to avoid the complexity and boilerplate of AVPlayer's KVO system.

Value Proposition

Developers choose PlayerView because it offers a more intuitive and maintainable alternative to AVPlayer's KVO, reducing common pitfalls and providing a straightforward API for common video playback tasks.

Overview

Player View is a delegated view using AVPlayer of Swift

Use Cases

Best For

  • iOS apps needing simple video playback with delegate-based event handling
  • Replacing AVPlayer's KVO with a cleaner Swift interface
  • Adding video queue management to media players
  • Capturing screenshots from video playback at specific timestamps
  • Controlling playback rate and fill modes programmatically
  • Building custom video players with minimal boilerplate code

Not Ideal For

  • Projects requiring cross-platform video playback on Android or web
  • Apps needing advanced video features like DRM, subtitle tracks, or custom video filters
  • Teams using reactive programming frameworks like Combine who prefer observable streams over delegate patterns
  • Applications where a fully-styled, out-of-the-box video player UI is needed without custom development

Pros & Cons

Pros

Clean Delegate Interface

Replaces AVPlayer's KVO with optional delegate methods, reducing boilerplate and improving code readability, as shown in the delegate examples for status and time updates.

Simplified Controls

Provides straightforward methods for play, pause, stop, and speed control with direct property access like `playerVideo.rate`, eliminating manual KVO setup.

Queue Management

Supports adding multiple video URLs to a playback queue via `addVideosOnQueue`, enabling basic playlist functionality without custom logic.

Screenshot Capture

Allows taking screenshots at specific times or the current position using `screenshotTime()` and `screenshot()` methods, useful for media previews.

Cons

Limited Feature Set

Lacks advanced video player features such as DRM support, subtitle handling, or custom UI components, relying solely on AVPlayer's basic capabilities.

iOS-Only Dependency

Tightly coupled to Apple's AVPlayer and iOS platform, making it unsuitable for cross-platform projects and inheriting any AVPlayer limitations or bugs.

Documentation Gaps

The README has typos and sparse examples, like repeated installation sections and minimal error handling guidance, which could hinder adoption.

Frequently Asked Questions

Quick Stats

Stars130
Forks46
Contributors0
Open Issues6
Last commit6 years ago
CreatedSince 2016

Tags

#ios#swift-package-manager#media-controls#cocoapods#avplayer#swift#video-playback#carthage

Built With

S
Swift Package Manager
C
Carthage
C
CocoaPods
S
Swift
A
AVFoundation

Included in

iOS51.7kSwift26.0k
Auto-fetched 16 hours ago

Related Projects

ZFPlayerZFPlayer

Support customization of any player SDK and control layer(支持定制任何播放器SDK和控制层)

Stars7,129
Forks1,768
Last commit2 years ago
MobilePlayerMobilePlayer

:iphone: :movie_camera: A powerful and completely customizable media player for iOS

Stars3,073
Forks352
Last commit4 years ago
MobilePlayerMobilePlayer

:iphone: :movie_camera: A powerful and completely customizable media player for iOS

Stars3,073
Forks352
Last commit4 years ago
XCDYouTubeKitXCDYouTubeKit

YouTube video player for iOS, tvOS and macOS

Stars2,923
Forks610
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub