| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //
- // JCVideoManager.swift
- // JChat
- //
- // Created by deng on 2017/4/26.
- // Copyright © 2017年 HXHG. All rights reserved.
- //
- import UIKit
- import AVFoundation
- import AVKit
- class JCVideoManager {
-
- static func playVideo(data: Data, _ fileType: String = "MOV", currentViewController: UIViewController) {
- let playVC = AVPlayerViewController()
-
- let filePath = "\(NSHomeDirectory())/Documents/abcd." + fileType
-
- if JCFileManager.saveFileToLocal(data: data, savaPath: filePath) {
- let url = URL(fileURLWithPath: filePath)
- let player = AVPlayer(url: url)
- playVC.player = player
- currentViewController.present(playVC, animated: true, completion: nil)
- }
- }
-
- static func playVideo(path: String, currentViewController: UIViewController) {
- let playVC = AVPlayerViewController()
- let url = URL(fileURLWithPath: path)
- let player = AVPlayer(url: url)
- playVC.player = player
- currentViewController.present(playVC, animated: true, completion: nil)
- }
-
- static func getFristImage(data: Data) -> UIImage? {
- let filePath = "\(NSHomeDirectory())/Documents/getImage.MOV"
- if !JCFileManager.saveFileToLocal(data: data, savaPath: filePath) {
- return nil
- }
- let videoURL = URL(fileURLWithPath: filePath)
- let avAsset = AVAsset(url: videoURL)
- let generator = AVAssetImageGenerator(asset: avAsset)
- generator.appliesPreferredTrackTransform = true
- let time = CMTimeMakeWithSeconds(0.0,preferredTimescale: 600)
- var actualTime = CMTimeMake(value: 0,timescale: 0)
- do {
- let imageRef = try generator.copyCGImage(at: time, actualTime: &actualTime)
- let frameImg = UIImage(cgImage: imageRef)
- return frameImg
- } catch {
- return UIImage.createImage(color: .gray, size: CGSize(width: 160, height: 120))
- }
- }
- }
|