SwiftVideoBackground 3.4.0

SwiftVideoBackground 3.4.0

测试已测试
语言语言 SwiftSwift
许可 MIT
发布上次发布2019年8月
SPM支持 SPM

Wilson Ding 维护。




  • Wilson Ding 和 Quan Vo

Build Status codecov doccov Platform Swift MIT License CocoaPods Version Status Carthage compatible

SwiftVideoBackground 是一个易于使用的 Swift 框架,提供了在任意 UIView 上播放视频的能力。这为登录界面或启动页面提供了美丽的 UI,如 Spotify 及许多人所实现的那样。

特性

  • 一行代码即可播放视频
  • 支持本地视频和来自网络 URL 的视频
  • 设备方向变化时自动调整
  • 当应用重新进入前台时自动恢复视频
  • 暂停、继续、重新开始等控制
  • 循环视频(可选)
  • 静音(可选)
  • 变暗视频,以便重叠的 UI 更显眼(可选)
  • 文档

内容

  1. 集成
  2. 迁移指南
  3. 用法
  4. 许可
  5. 作者

集成

CocoaPods

您可以使用 CocoaPods 通过将其添加到您的 Podfile 来安装 SwiftVideoBackground

针对 Swift 5

pod 'SwiftVideoBackground'

针对 Swift 4

pod 'SwiftVideoBackground', '~> 3.0'

针对 Swift 3

pod 'SwiftVideoBackground', '0.06'

Carthage

您可以使用 Carthage 通过将其添加到您的 Cartfile 来安装 SwiftVideoBackground

github "dingwilson/SwiftVideoBackground"

手动方式

要在项目中手动使用此库,您可以

  1. 对于项目,只需将 VideoBackground.swift 拖到项目资源树中即可
  2. 对于工作空间,需要包含整个 SwiftVideoBackground.xcodeproj

迁移指南

版本 3.0.0

  • 支持传入视频数组的特性已被移除。您应提前合并视频。以下是如何使用 FFmpeg 连接媒体文件的指南 [链接]
  • alpha 重命名为 darkness

版本 2.0.0

请参阅快速迁移指南

用法

示例

import UIKit
import SwiftVideoBackground

class MyViewController: UIViewController {
  override func viewDidLoad() {
    super.viewDidLoad()

    try? VideoBackground.shared.play(view: view, videoName: "myVideo", videoType: "mp4")

    /* or from URL */

    let url = URL(string: "https://coolVids.com/coolVid.mp4")!
    VideoBackground.shared.play(view: view, url: url)
  }
}

版本0.06(Swift 3)的文档可以在这里找到。

自定义功能

play()方法有四个可用的可选参数用于自定义功能

  • darkness: CGFloat - 值在01之间。值越高,视频越暗。默认为0
  • isMuted: Bool - 表示视频是否静音。默认为true
  • willLoopVideo: Bool - 表示视频播放结束后是否重新开始。默认为true
  • setAudioSessionAmbient: Bool - 表示是否将共享的AVAudioSession设置为环境音。如果不是这样做,您应用程序播放的音频将暂停设备上正在播放的其他音频。默认为true

例如

VideoBackground.shared.play(
    view: view,
    videoName: "myVideo",
    videoType: "mp4",
    darkness: 0.25,
    isMuted: false,
    willLoopVideo: true,
    setAudioSessionAmbient: true
)

-> 以声音打开,稍微变暗,循环播放的视频,并且不会影响设备上的其他音频源播放。

参数可以是任意的组合,或者全部省略。

setAudioSessionAmbient只在iOS 10.0+版本有效。更多详情请见文档

控件

  • pause() - 暂停视频。
  • resume() - 恢复视频。
  • restart() - 重新开始视频。
  • getThumbnailImage(from: URL, at: CMTime) - 从视频中生成图片用作缩略图。
  • darkness - 将此CGFloat值改变可调整视频的暗度。值从01。较大数字表示更暗。设置为无效值不会产生任何效果。
  • isMuted - 改变此Bool值以静音/取消静音视频。
  • willLoopVideo - 改变此Bool值以设置视频播放结束后是否重新开始。
  • videoGravity - 默认为.resizeAspectFill。改为.resizeAspect(不填充视图)或.resize(不保持原始比例)。
  • playerLayer - 可以访问用于高级控制和自定义视频的AVPlayerLayer

单例

SwiftVideoBackground 包含一个单例实例,可以通过 VideoBackground.shared 方便地访问。一个 VideoBackground 实例一次只能在一个 UIView 上播放一个视频。因此,如果需要在多个 UIView 上播放,您需要为每个 UIView 保留一个 VideoBackground 实例。

let videoBackground1 = VideoBackground()

将视频添加到您的项目中

为了播放本地视频,您必须将它们添加到您的项目中。

  1. 打开项目导航器
  2. 选择您的目标
  3. 选择 构建阶段
  4. 选择 复制包资源
  5. 点击 + 添加视频

add video to project

许可

SwiftVideoBackground 采用 MIT 许可协议 发布。请参阅 LICENSE 了解详细信息。

作者

Wilson Ding, Quan Vo

版权所有 © 2016-至今 Wilson Ding。

请提供署名,我们将非常感激。