Need help with ZFPlayer?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

renzifeng
6.4K Stars 1.6K Forks MIT License 681 Commits 195 Opened issues

Description

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

Services available

!
?

Need anything else?

Contributors list

ZFPlayer

中文说明

ZFPlayer 4.x迁移指南

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

边下边播可以参考使用KTVHTTPCache

🐒 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
,
KSYMediaPlayer
and so on,you can reference the
ZFAVPlayerManager
class.
Class *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 *controlView = ...;
player.controlView = controlView;

📷 Screenshots

Picture effect

👨🏻‍💻 Author

❤️ Contributors

林界:https://github.com/GeekLee609

🙋🏻‍♂️🙋🏻‍♀️寻求志同道合的小伙伴

  • 现寻求志同道合的小伙伴一起维护此框架,有兴趣的小伙伴可以发邮件给我,非常感谢!
  • 如果一切OK,我将开放框架维护权限(github、pod等)

💰 打赏作者

如果ZFPlayer在开发中有帮助到你、如果你需要技术支持或者你需要定制功能,都可以拼命打赏我!

支付.jpg

👮🏻 License

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.