杨锴
2024-11-06 63f7ed967433acee3ae8764c7a077e15c29c41f2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//
//  CLPlayerConfigure.swift
//  CLPlayer
//
//  Created by Chen JmoVxia on 2021/12/15.
//
 
import AVFoundation
import UIKit
 
public struct CLPlayerConfigure {
    public struct CLPlayerColor {
        /// 顶部工具条背景颜色
        public var topToobar: UIColor
        /// 底部工具条背景颜色
        public var bottomToolbar: UIColor
        /// 进度条背景颜色
        public var progress: UIColor
        /// 缓冲条缓冲进度颜色
        public var progressBuffer: UIColor
        /// 进度条播放完成颜色
        public var progressFinished: UIColor
        /// 转子背景颜色
        public var loading: UIColor
 
        public init(topToobar: UIColor = UIColor.black.withAlphaComponent(0.6),
                    bottomToolbar: UIColor = UIColor.black.withAlphaComponent(0.6),
                    progress: UIColor = UIColor.white.withAlphaComponent(0.35),
                    progressBuffer: UIColor = UIColor.white.withAlphaComponent(0.5),
                    progressFinished: UIColor = UIColor.white,
                    loading: UIColor = UIColor.white)
        {
            self.topToobar = topToobar
            self.bottomToolbar = bottomToolbar
            self.progress = progress
            self.progressBuffer = progressBuffer
            self.progressFinished = progressFinished
            self.loading = loading
        }
    }
 
    public struct CLPlayerImage {
        /// 返回按钮图片
        public var back: UIImage?
        /// 更多按钮图片
        public var more: UIImage?
        /// 播放按钮图片
        public var play: UIImage?
        /// 暂停按钮图片
        public var pause: UIImage?
        /// 进度滑块图片
        public var thumb: UIImage?
        /// 最大化按钮图片
        public var max: UIImage?
        /// 最小化按钮图片
        public var min: UIImage?
 
        public init(back: UIImage? = CLImageHelper.imageWithName("CLBack"),
                    more: UIImage? = CLImageHelper.imageWithName("CLMore"),
                    play: UIImage? = CLImageHelper.imageWithName("CLPlay"),
                    pause: UIImage? = CLImageHelper.imageWithName("CLPause"),
                    thumb: UIImage? = CLImageHelper.imageWithName("CLSlider"),
                    max: UIImage? = CLImageHelper.imageWithName("CLFullscreen"),
                    min: UIImage? = CLImageHelper.imageWithName("CLSmallscreen"))
        {
            self.back = back
            self.more = more
            self.play = play
            self.pause = pause
            self.thumb = thumb
            self.max = max
            self.min = min
        }
    }
 
    /// 顶部工具条隐藏风格
    public enum CLPlayerTopBarHiddenStyle {
        /// 小屏和全屏都不隐藏
        case never
        /// 小屏和全屏都隐藏
        case always
        /// 小屏隐藏,全屏不隐藏
        case onlySmall
    }
 
    /// 自动旋转类型
    public enum CLPlayerAutoRotateStyle {
        /// 禁止
        case none
        /// 只支持小屏
        case small
        /// 只支持全屏
        case fullScreen
        /// 全部
        case all
    }
 
    /// 手势控制类型
    public enum CLPlayerGestureInteraction {
        /// 禁止
        case none
        /// 只支持小屏
        case small
        /// 只支持全屏
        case fullScreen
        /// 全部
        case all
    }
 
    /// 是否隐藏更多面板
    public var isHiddenMorePanel = false
    /// 初始界面是否显示工具条
    public var isHiddenToolbarWhenStart = true
    /// 手势控制
    public var gestureInteraction = CLPlayerGestureInteraction.fullScreen
    /// 自动旋转类型
    public var rotateStyle = CLPlayerAutoRotateStyle.all
    /// 顶部工具条隐藏风格
    public var topBarHiddenStyle = CLPlayerTopBarHiddenStyle.onlySmall
    /// 工具条自动消失时间
    public var autoFadeOut = 8.0
    /// 默认拉伸方式
    public var videoGravity = AVLayerVideoGravity.resizeAspect
    /// 颜色
    public var color = CLPlayerColor()
    /// 图片
    public var image = CLPlayerImage()
    /// 滑块水平偏移量
    public var thumbImageOffset = 0.0
    /// 滑块点击范围偏移
    public var thumbClickableOffset = CGPoint(x: 30, y: 40)
}