Back to rankings

renzifeng/ZFPlayer

Objective-C

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

customplayercontrolview
Star Growth
Stars
7.1k
Forks
1.8k
Weekly Growth
Issues
252
2k4k6k
Mar 2016Aug 2019Feb 2023Jul 2026
README

ZFPlayer

中文说明

ZFPlayer 转屏适配

Before this, you used ZFPlayer, are you worried about encapsulating avplayer instead of using or modifying the source code to support other players, the control layer is not easy to customize, and so on? In order to solve these problems, I have wrote this player template, for player SDK you can conform the ZFPlayerMediaPlayback protocol, for control view you can conform the ZFPlayerMediaControl protocol, can custom the player and control view.

ZFPlayer思维导图

🔨 Requirements

  • iOS 7+
  • Xcode 8+

📲 Installation

ZFPlayer is available through CocoaPods. To install it,use player template simply add the following line to your Podfile:

pod 'ZFPlayer', '~> 4.0'

Use default controlView simply add the following line to your Podfile:

pod 'ZFPlayer/ControlView', '~> 4.0'

Use AVPlayer simply add the following line to your Podfile:

pod 'ZFPlayer/AVPlayer', '~> 4.0'

Use ijkplayer simply add the following line to your Podfile:

pod 'ZFPlayer/ijkplayer', '~> 4.0'

IJKMediaFramework SDK support cocoapods

🐒 Usage

ZFPlayerController

Main classes,normal style initialization and list style initialization (tableView, collection,scrollView)

Normal style initialization

ZFPlayerController *player = [ZFPlayerController playerWithPlayerManager:playerManager containerView:containerView];
ZFPlayerController *player = [[ZFPlayerController alloc] initwithPlayerManager:playerManager containerView:containerView];

List style initialization

ZFPlayerController *player = [ZFPlayerController playerWithScrollView:tableView playerManager:playerManager containerViewTag:containerViewTag];
ZFPlayerController *player = [ZFPlayerController alloc] initWithScrollView:tableView playerManager:playerManager containerViewTag:containerViewTag];
ZFPlayerController *player = [ZFPlayerController playerWithScrollView:scrollView playerManager:playerManager containerView:containerView];
ZFPlayerController *player = [ZFPlayerController alloc] initWithScrollView:tableView playerManager:playerManager containerView:containerView];

ZFPlayerMediaPlayback

For the playerMnager,you must conform ZFPlayerMediaPlayback protocol,custom playermanager can supports any player SDK,such as AVPlayer,MPMoviePlayerController,ijkplayer,vlc,PLPlayerKit,KSYMediaPlayerand so on,you can reference the ZFAVPlayerManagerclass.

Class<ZFPlayerMediaPlayback> *playerManager = ...;

ZFPlayerMediaControl

This class is used to display the control layer, and you must conform the ZFPlayerMediaControl protocol, you can reference the ZFPlayerControlView class.

UIView<ZFPlayerMediaControl> *controlView = ...;
player.controlView = controlView;

📷 Screenshots

Picture effect

Reference

👨🏻‍💻 Author

👮🏻 License

ZFPlayer is available under the MIT license. See the LICENSE file for more info.

Related repositories
DarkFlippers/unleashed-firmware

Flipper Zero Unleashed Firmware

CGNU General Public License v3.0jailbreakkeeloq
flipperunleashed.com
21.9k1.9k
TomSchimansky/CustomTkinter

A modern and customizable python UI-library based on Tkinter

PythonPyPIMIT Licensepythonui
13.5k1.2k
Next-Flip/Momentum-Firmware

🐬 Feature-rich, stable and customizable Flipper Firmware

CGNU General Public License v3.0customcustom-firmware
momentum-fw.dev
8.9k564
zhiyiYo/PyQt-Fluent-Widgets

A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again.

PythonPyPIGNU General Public License v3.0pyqt5widgets
qfluentwidgets.com
8k772
KingSora/OverlayScrollbars

A javascript scrollbar plugin that hides the native scrollbars, provides custom styleable overlay scrollbars, and preserves the native functionality and feel.

TypeScriptnpmMIT Licensescrollbar-pluginjavascript-scrollbar-plugin
kingsora.github.io/OverlayScrollbars
5.2k249
ChadCSong/ShineButton

This is a UI lib for Android. Effects like shining.

KotlinMIT Licensecustomeffects
4.2k540
kalkih/mini-graph-card

Minimalistic graph card for Home Assistant Lovelace UI

JavaScriptnpmMIT Licenseautomationhome-assistant
3.9k265
forwardemail/email-templates

Create, preview (browser/iOS Simulator), and send custom email templates for Node.js. Made for @forwardemail, @ladjs, @cabinjs, @spamscanner, and @breejs.

JavaScriptnpmMIT Licensenodejsemail
forwardemail.net/docs/send-emails-with-node-js-javascript
3.7k333
Yalantis/Persei

Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift

SwiftMIT Licenseiosswift
yalantis.com
3.4k309
florent37/ShapeOfView

Give a custom shape to any android view, Material Design 2 ready

JavaMavenApache License 2.0androidcustom
3.2k401
Touchwonders/Transition

Easy interactive interruptible custom ViewController transitions

SwiftMIT Licenseswiftios
2.6k127
forwardemail/free-email-forwarding

Repository archived and moved to monorepo

email-forwardingemail
github.com/forwardemail/forwardemail.net
2.4k176