GTVideoPlayer 源码:
GTVideoPlayer.h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
/**
播放器
*/
@interface GTVideoPlayer : NSObject
/**
全局播放器单例
*/
(GTVideoPlayer *)Player;
/**
停止播放
*/
- (void)stopPlayer;
/**
在指定View上 通过url播放视频
*/
- (void)playVideoWithUrl:(NSString *)videoUrl attachView:(UIView *)attachView;
@end
NS_ASSUME_NONNULL_END
GTVideoPlayer.m
#import "GTVideoPlayer.h"
#import <AVFoundation/AVFoundation.h>
@interface GTVideoPlayer ()
@property (nonatomic, strong, readwrite) AVPlayerItem *videoItem;
@property (nonatomic, strong, readwrite) AVPlayer *avPlayer;
@property (nonatomic, strong, readwrite) AVPlayerLayer *playerLayer;
@end
@implementation GTVideoPlayer
(GTVideoPlayer *)Player {
static GTVideoPlayer *player;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{