SHMAVPlayerInterface 1.1.0

SHMAVPlayerInterface 1.1.0

测试已测试
语言语言 SwiftSwift
许可证 自定义
发布上次发布2017年8月
SwiftSwift 版本3.0
SPM支持 SPM

ShowmaxShowmaxShowmaxDominikDenis Bogomolov 维护。



 
依赖
RxSwift~> 3.5.0
RxCocoa~> 3.5.0
 

SHMAVPlayerInterface

SHMAVPlayerInterface 提供用于 AVPlayerAVPlayerItem 的易于使用的接口。您可以替换 KVOCMTime、媒体组和其他不友好的 API。

SHMAVPlayerInterface 库提供了一个反应式 API 来观察重要属性。SHMAVPlayerInterface 还提供了一个围绕 AVPlayer 的包装器,以处理基本操作,如播放/暂停和字幕更改。您仍然可以完全控制您的 AVPlayer

SHMAVPlayerInterface 使用 RxSwiftRxCocoa 库。如果您不熟悉反应式编程,您在使用 SHMAVPlayerInterface 之前应该查看这些库。

安装

SHMAVPlayerInterface 可通过 CocoaPods 获取。

将以下行添加到您的 Podfile

pod 'SHMAVPlayerInterface'

安装依赖

pod install

入门指南

使用 SHMAVPlayerInterface 有两种选项

  1. SHMAVPlayerInterface 导入您的 swift 文件
import SHMAVPlayerInterface

选项 A) 创建 SHMAVPlayerInterface 对象并开始使用 AVPlayer

let player: AVPlayer = ...
let playerInterface = SHMAVPlayerInterface(player: player)

playerInterface.play()

let subtitles = playerInterface.availableSubtitles
...

选项 B) 或者通过反应式 API 开始观察 AVPlayer(或 AVPlayerItem)属性。

重要:如果您使用 AVPlayerAVPlayerItem 的反应式扩展,则必须在销毁 AVPlayerAVPlayerItem 之前销毁您的 DisposeBag。否则,应用会崩溃。

let player: AVPlayer = ...

// Get update about playback position every second on main thread.
playerInterface.player.rx.playbackPosition(updateInterval: 1.0, updateQueue: nil)
  .subscribe(
      onNext: { position in

          print("Playback position: \(position)")
      }
  )
  .disposed(by: bag)

或者,您可以按您的喜好组合这些选项。

文档

主要文档在代码注释中。每个公共 API 都有注释。

示例代码

此仓库包含一个如何使用此库的实战示例。此示例在 iOS 上使用带有自定义 UI 的 AVPlayerViewController,在 tvOS 上使用默认 UI。

要运行示例项目,请克隆仓库,并在 Example 目录下运行 pod install

cd libs/SHMAVPlayerInterface/Example
pod install
open SHMAVPlayerInterface.xcworkspace

作者

Showmax 是一家基于互联网的点播视频订阅服务,提供丰富的电视节目和电影。通过与全球各大制片厂建立关系,Showmax 不仅提供世界级国际内容,还提供具有专业性的本地内容。Showmax 可在多种设备上访问,包括智能电视、电脑、智能手机和平板电脑。

您可以在https://tech.showmax.com 和/或 https://twitter.com/ShowmaxDevs 跟随我们。

状态

此代码目前在我们生产应用中运行。我们使用与您所见的相同pod。欢迎提交Pull Requests (PRs)。

许可

SHMAVPlayerInterface 受Apache 许可证的许可。更多信息请查看LICENSE文件。