南鑫林 5 роки тому
батько
коміт
1476549012

+ 0 - 267
RainbowPlanet/RainbowPlanet/Manager/AliyunManager/AliPlayerManager/AliPlayerManager.swift

@@ -1,267 +0,0 @@
-//
-//  AliPlayerManager.swift
-//  RainbowPlanet
-//
-//  Created by 南鑫林 on 2019/10/26.
-//  Copyright © 2019 RainbowPlanet. All rights reserved.
-//
-
-import Foundation
-
-
-
-class AliPlayerManager: NSObject {
-    
-    deinit {
-        NXLLog("deinit")
-    }
-    
-    static let shared : AliPlayerManager = AliPlayerManager()
-    
-//=============================音频=============================================
-    
-    typealias StartPlayClosure = (() -> Void)?
-    var startPlayClosure : StartPlayClosure?
-    
-    lazy var audioPlayer: AliPlayer = {
-        let audioPlayer = AliPlayer()
-        audioPlayer?.delegate = self
-        return audioPlayer!
-    }()
-    
-//=============================视频===========================================
-    
-    lazy var videoPlayer: AliPlayer = {
-        let videoPlayer = AliPlayer()
-        videoPlayer?.delegate = self
-        return videoPlayer!
-    }()
-    
-    
-}
-
-// MARK: - 音乐播放
-extension AliPlayerManager {
-    
-    /// 开始播放音频
-    ///
-    /// - Parameters:
-    ///   - url: 网络链接
-    ///   - pathUrl: 本地链接
-    func initAudioPlayer(url:String? = nil, pathUrl:String? = nil,startPlayClosure :StartPlayClosure? = nil) {
-        
-        self.startPlayClosure = startPlayClosure
-        
-        if url != nil {
-            audioPlayer.setUrlSource(AVPUrlSource().url(with: url))
-        }
-        if pathUrl != nil {
-            audioPlayer.setUrlSource(AVPUrlSource().fileURL(withPath: pathUrl))
-        }
-        
-        audioPlayer.enableLog = false
-        audioPlayer.isLoop = true
-        audioPlayer.isMuted = false
-        audioPlayer.isAutoPlay = true
-        audioPlayer.prepare()
-    }
-}
-
-
-// MARK: - 视频播放
-extension AliPlayerManager {
-    func initVideoPlayer() {
-        
-    }
-}
-
-extension AliPlayerManager : AVPDelegate {
-    /**
-     @brief 播放器事件回调
-     @param player 播放器player指针
-     @param eventType 播放器事件类型
-     @see AVPEventType
-     */
-    func onPlayerEvent(_ player: AliPlayer!, eventType: AVPEventType) {
-        switch eventType {
-        case AVPEventPrepareDone:
-            // 准备完成事件
-            break
-        case AVPEventAutoPlayStart:
-            // 自动播放开始事件
-            if player == audioPlayer {
-                if let startPlayClosure = startPlayClosure {
-                    startPlayClosure!()
-                }
-            }
-            break
-        case AVPEventFirstRenderedStart:
-            // 首帧显示
-            break
-        case AVPEventCompletion:
-            // 播放完成
-            break
-        case AVPEventLoadingStart:
-            // 缓冲开始
-            break
-        case AVPEventLoadingEnd:
-            // 缓冲完成
-            break
-        case AVPEventSeekEnd:
-            // 跳转完成
-            break
-        case AVPEventLoopingStart:
-            // 循环播放开始
-            break
-        default:
-            break;
-        }
-    }
-    
-    /**
-     @brief 播放器事件回调
-     @param player 播放器player指针
-     @param eventWithString 播放器事件类型
-     @param description 播放器事件说明
-     @see AVPEventType
-     */
-    func onPlayerEvent(_ player: AliPlayer!, eventWithString: AVPEventWithString, description: String!) {
-        
-    }
-    
-    /**
-     @brief 错误代理回调
-     @param player 播放器player指针
-     @param errorModel 播放器错误描述,参考AVPErrorModel
-     @see AVPErrorModel
-     */
-    func onError(_ player: AliPlayer!, errorModel: AVPErrorModel!) {
-        
-    }
-    
-    /**
-     @brief 视频大小变化回调
-     @param player 播放器player指针
-     @param width 视频宽度
-     @param height 视频高度
-     @param rotation 视频旋转角度
-     */
-    func onVideoSizeChanged(_ player: AliPlayer!, width: Int32, height: Int32, rotation: Int32) {
-        
-    }
-    
-    /**
-     @brief 视频当前播放位置回调
-     @param player 播放器player指针
-     @param position 视频当前播放位置
-     */
-    func onCurrentPositionUpdate(_ player: AliPlayer!, position: Int64) {
-        
-    }
-    
-    /**
-     @brief 视频缓存位置回调
-     @param player 播放器player指针
-     @param position 视频当前缓存位置
-     */
-    func onBufferedPositionUpdate(_ player: AliPlayer!, position: Int64) {
-        
-    }
-    
-    /**
-     @brief 视频缓冲进度回调
-     @param player 播放器player指针
-     @param progress 缓存进度0-100
-     */
-    func onLoadingProgress(_ player: AliPlayer!, progress: Float) {
-        
-    }
-    
-    /**
-     @brief 获取track信息回调
-     @param player 播放器player指针
-     @param info track流信息数组
-     @see AVPTrackInfo
-     */
-    func onTrackReady(_ player: AliPlayer!, info: [AVPTrackInfo]!) {
-        
-    }
-    
-    /**
-     @brief track切换完成回调
-     @param player 播放器player指针
-     @param info 切换后的信息 参考AVPTrackInfo
-     @see AVPTrackInfo
-     */
-    func onTrackChanged(_ player: AliPlayer!, info: AVPTrackInfo!) {
-        
-    }
-    
-    /**
-     @brief 字幕显示回调
-     @param player 播放器player指针
-     @param index 字幕显示的索引号
-     @param subtitle 字幕显示的字符串
-     */
-    func onSubtitleShow(_ player: AliPlayer!, index: Int32, subtitle: String!) {
-        
-    }
-    
-    /**
-     @brief 字幕隐藏回调
-     @param player 播放器player指针
-     @param index 字幕显示的索引号
-     */
-    func onSubtitleHide(_ player: AliPlayer!, index: Int32) {
-        
-    }
-    /**
-     @brief 获取缩略图成功回调
-     @param positionMs 指定的缩略图位置
-     @param fromPos 此缩略图的开始位置
-     @param toPos 此缩略图的结束位置
-     @param image 缩图略图像指针,对于mac是NSImage,iOS平台是UIImage指针
-     */
-    func onGetThumbnailSuc(_ positionMs: Int64, fromPos: Int64, toPos: Int64, image: Any!) {
-        
-    }
-    
-    /**
-     @brief 获取缩略图失败回调
-     @param positionMs 指定的缩略图位置
-     */
-    func onGetThumbnailFailed(_ positionMs: Int64) {
-        
-    }
-    
-    /**
-     @brief 播放器状态改变回调
-     @param player 播放器player指针
-     @param oldStatus 老的播放器状态 参考AVPStatus
-     @param newStatus 新的播放器状态 参考AVPStatus
-     @see AVPStatus
-     */
-    func onPlayerStatusChanged(_ player: AliPlayer!, oldStatus: AVPStatus, newStatus: AVPStatus) {
-        
-    }
-    
-    /**
-     @brief 获取截图回调
-     @param player 播放器player指针
-     @param image 图像
-     @see AVPImage
-     */
-    func onCaptureScreen(_ player: AliPlayer!, image: UIImage!) {
-        
-    }
-    
-    /**
-     @brief SEI回调
-     @param type 类型
-     @param data 数据
-     @see AVPImage
-     */
-    func onSEIData(_ player: AliPlayer!, type: Int32, data: Data!) {
-        
-    }
-}

+ 0 - 238
RainbowPlanet/RainbowPlanet/Manager/PathManager/PathURLManager.swift

@@ -1,238 +0,0 @@
-//
-//  PathURLManager.swift
-//  RainbowPlanet
-//
-//  Created by 南鑫林 on 2019/10/25.
-//  Copyright © 2019 RainbowPlanet. All rights reserved.
-//
-
-import Foundation
-
-class PathURLManager: NSObject {
-    
-    /// 获取程序的Home目录 ./
-    ///
-    /// - Returns: 获取程序的Home目录
-    private class func homePath() -> URL? {
-        return URL(fileURLWithPath: NSHomeDirectory())
-    }
-    
-    /// 获取Documnets目录  ./Documents
-    ///
-    /// - Returns: 获取Documnets目录
-    private class func documentPath() -> URL? {
-        return FileManager.default.urls(for: .documentDirectory,in: .userDomainMask).first
-    }
-    
-    /// 获取Library目录 ./Library
-    ///
-    /// - Returns: 获取Library目录
-    private class func libraryPath() -> URL? {
-        return FileManager.default.urls(for: .libraryDirectory,in: .userDomainMask).first
-    }
-    
-    /// 获取Caches目录  ./Library/Caches
-    ///
-    /// - Returns: 获取Caches目录
-    private class func cachesPath() -> URL? {
-        return FileManager.default.urls(for: .cachesDirectory,in: .userDomainMask).first
-    }
-    
-    /// 获取tmp目录  ./tmp
-    ///
-    /// - Returns: 获取tmp目录
-    class func tmpPath() -> URL? {
-        return URL(fileURLWithPath: NSTemporaryDirectory())
-    }
-}
-
-// MARK: - 创建项目目录路径
-extension PathURLManager {
-    
-    /// 获取Documnets目录 ./Documents/UpToYo
-    ///
-    /// - Returns: 获取Documnets目录
-    class func projectDocumentPath() -> URL? {
-        return documentPath()?.appendingPathComponent("UpToYo")
-    }
-    
-    /// 获取Library目录 ./Library/UpToYo
-    ///
-    /// - Returns: 获取Library目录
-    class func projectLibraryPath() -> URL? {
-        let uptoyo = libraryPath()?.appendingPathComponent("UpToYo")
-        return createDirectory(pathURL: uptoyo)
-    }
-    
-    /// 获取Caches目录 ./Library/Caches/UpToYo
-    ///
-    /// - Returns: 获取Caches目录
-    class func projectCachesPath() -> URL? {
-        let uptoyo = cachesPath()?.appendingPathComponent("UpToYo")
-        return createDirectory(pathURL: uptoyo)
-    }
-    
-    /// 获取tmp目录  ./tmp/UpToYo
-    ///
-    /// - Returns: 获取tmp目录
-    class func projectTmpPath() -> URL? {
-        let uptoyo = tmpPath()?.appendingPathComponent("UpToYo")
-        return createDirectory(pathURL: uptoyo)
-    }
-}
-
-// MARK: - 创建项目目录文件夹
-extension PathURLManager {
-    
-    /// 下载文件
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectDownloadsPath(parentURL:URL?) -> URL? {
-        let downloads = parentURL?.appendingPathComponent("Downloads")
-        return createDirectory(pathURL: downloads)
-    }
-    
-}
-
-// MARK: - 创建资源目录
-extension PathURLManager {
-    
-    /// 资源文件
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectResourcesPath(parentURL:URL?) -> URL? {
-        let resources = parentURL?.appendingPathComponent("Resources")
-        return createDirectory(pathURL: resources)
-    }
-    
-}
-
-// MARK: - 创建资源下的目录
-extension PathURLManager {
-    
-    /// 图片文件夹
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectPicturesPath(parentURL:URL?) -> URL? {
-        let pictures = parentURL?.appendingPathComponent("Pictures")
-        return createDirectory(pathURL: pictures)
-    }
-    
-    /// 视频文件夹
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectVideosPath(parentURL:URL?) -> URL? {
-        let videos = parentURL?.appendingPathComponent("Videos")
-        return createDirectory(pathURL: videos)
-    }
-    
-    /// 音频文件夹
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectAudiosPath(parentURL:URL?) -> URL? {
-        let audios = parentURL?.appendingPathComponent("Audios")
-        return createDirectory(pathURL: audios)
-    }
-    
-}
-
-// MARK: - 时间文件夹
-extension PathURLManager {
-    
-    /// 日期文件
-    ///
-    /// - Parameter parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectDatePath(parentURL:URL?) -> URL? {
-        let dateString = parentURL?.appendingPathComponent(PathURLManager.dateString())
-        return createDirectory(pathURL: dateString)
-    }
-    
-    /// 自定义格式生成日期文件
-    ///
-    /// - Parameters:
-    ///   - dateFormat: 日期格式
-    ///   - parentURL: 上一级的URL
-    /// - Returns: 下载文件下载文件
-    class func projectDateFormatPath(dateFormat:String,parentURL:URL?) -> URL? {
-        let dateString = parentURL?.appendingPathComponent(PathURLManager.dateString(dateFormat: dateFormat))
-        return createDirectory(pathURL: dateString)
-    }
-    
-}
-
-// MARK: - 文件名
-extension PathURLManager {
-    ///
-    /// - Parameters:
-    ///   - fileName: 文件名
-    ///   - parentURL: 上一级的URL
-    /// - Returns: 文件路径
-    class func projectFilePath(fileName:String,parentURL:URL?) -> URL? {
-        let fileUrlPath = parentURL?.appendingPathComponent(fileName)
-        return fileUrlPath
-    }
-}
-
-
-// MARK: - 创建路径
-extension PathURLManager {
-    /// 创建路径
-    ///
-    /// - Parameter pathURL: 路径
-    /// - Returns: 创建好的路径
-    class func createDirectory(pathURL:URL?) -> URL? {
-        //判断是否有路径
-        if FileManager.default.fileExists(atPath: pathURL?.path ?? "") {
-            return pathURL
-        }else {
-            do {
-                try FileManager.default.createDirectory(atPath: pathURL?.path ?? "", withIntermediateDirectories: true, attributes: nil)
-                return pathURL
-            } catch {
-                NXLLog("路径错误")
-                return nil
-            }
-        }
-    }
-}
-
-// MARK: - 生成日期
-extension PathURLManager {
-    
-    /// 生成日期
-    ///
-    /// - Returns: 日期字符串
-    class func dateString() -> String {
-        let dateStr = Date.dateToString(Date(), dateFormat: "yyyyMMdd")
-        return dateStr
-    }
-    
-    /// 自定义格式生成日期
-    ///
-    /// - Returns: 日期字符串
-    class func dateString(dateFormat:String) -> String {
-        let dateStr = Date.dateToString(Date(), dateFormat: dateFormat)
-        return dateStr
-    }
-}
-
-
-
-// MARK: - 生成随机字符串
-extension PathURLManager {
-    /// 生成随机字符串
-    ///
-    /// - Returns: 随机字符串
-    class func randomString() -> String {
-        let puuid = CFUUIDCreate(nil)
-        let uuidString = CFUUIDCreateString(nil, puuid)
-        let result = CFStringCreateCopy(nil, uuidString)
-        return result! as String
-    }
-}

BIN
RainbowPlanet/RainbowPlanet/Src/AliyunResource/Filter/FilterResource/海蓝/color.png