Odeum 1.2.8

Odeum 1.2.8

nayanda1 维护。



Odeum 1.2.8

  • nayanda

Odeum

Odeum 是一个简单的 iOS 视频播放器库,具有基本控制功能。

build test SwiftPM Compatible Version License Platform

示例

要运行示例项目,请先克隆仓库,然后从示例目录中运行 pod install

要求

  • Swift 5.0 或更高版本
  • iOS 10.0 或更高版本

安装

Cocoapods

Odeum 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中

pod 'Odeum'

从 XCode 使用 Swift 包管理器

  • 使用 XCode 菜单 文件 > Swift 包 > 添加包依赖 来添加它
  • https://github.com/hainayanda/Odeum.git 添加为 Swift 包 URL
  • 版本 设置规则中,选择 至下一个主版本 选项,并将版本号设置为 1.2.8
  • 点击“下一步”并等待

从 Package.swift 使用 Swift 包管理器

Package.swift 中将其添加为目标依赖项

dependencies: [
    .package(url: "https://github.com/hainayanda/Odeum.git", .upToNextMajor(from: "1.2.8"))
]

在目标中使用 Odeum

 .target(
    name: "MyModule",
    dependencies: ["Odeum"]
)

作者

Nayanda Haberty, [email protected]

授权协议

Odeum 可在 MIT 授权协议下使用。有关更多信息,请参阅 LICENSE 文件。

使用方法

使用 Odeum 非常简单。您可以选择查看示例项目或仅阅读此文档。

由于 odeum 播放器是 UIView 的子类。添加播放器的方式与添加简单的 UIView 相同

var odeumPlayer = OdeumPlayerView()
view.addSubview(odeumPlayer)

框架的方式取决于您的需求,可以使用 NSLayoutConstraints 或手动设置框架。

您还可以使用 Storyboard 或 XIB 来添加它。只需使用 UIView 并将其 CustomClass 设置为 OdeumPlayerView

要播放播放器,只需添加 URL

odeumPlayer.play(url: myURL)

在 odeum 中有很多方法可以操作视频播放

  • func set(url: URL) 用于设置 URL 但不会自动播放视频
  • func play() 在视频准备播放时播放视频
  • func play(url: URL) 设置url并在视频准备播放时自动播放
  • func pause() 暂停视频
  • func set(mute: Bool) 切换视频的静音或取消静音
  • func forward(by second: TimeInterval) -> Bool 通过给定的TimeInterval快进视频
  • func replay(by second: TimeInterval) -> Bool 通过给定的TimeInterval回放视频
  • func goFullScreen() 进入全屏
  • func dismissFullScreen() 退出全屏
  • func removeVideo() 停止播放并从视频播放器中移除视频

所有这些功能将在播放器控制悬停按钮上自动运行

代理

通过提供代理,您可以在OdeumPlayerView中观察事件和控制触摸行为

public protocol OdeumPlayerViewDelegate: class {
    func odeumDidPlayVideo(_ player: OdeumPlayerView)
    func odeumDidPauseVideo(_ player: OdeumPlayerView)
    func odeumViewControllerToPresentFullScreen(_ player: OdeumPlayerView) -> UIViewController
    func odeumDidGoToFullScreen(_ player: OdeumPlayerView)
    func odeumDidDismissFullScreen(_ player: OdeumPlayerView)
    func odeumDidMuted(_ player: OdeumPlayerView)
    func odeumDidUnmuted(_ player: OdeumPlayerView)
    func odeum(_ player: OdeumPlayerView, forwardedBy interval: TimeInterval)
    func odeum(_ player: OdeumPlayerView, rewindedBy interval: TimeInterval)
    func odeumDidBuffering(_ player: OdeumPlayerView)
    func odeumDidFinishedBuffering(_ player: OdeumPlayerView)
    func odeum(_ player: OdeumPlayerView, progressingBy percent: Double)
    func odeum(_ player: OdeumPlayerView, shouldShowOnTapWhen appearance: OdeumPlayerView.ControlAppearanceState) -> Bool
    func odeum(_ player: OdeumPlayerView, shouLdHideOnTapWhen appearance: OdeumPlayerView.ControlAppearanceState) -> Bool
}

所有方法都是可选的

播放器控制

如果用户触摸视频播放器,将显示PlayerControlView,它将控制如何在OdeumPlayerView中播放视频。您还可以更改PlayerControlView的图标

odeumPlayer.playerControl.set(icon: myIcon, for: ReplayStep.fiveSecond)

状态

public enum PlayState {
    case played
    case paused
}

public enum AudioState {
    case mute
    case unmute
}

public enum ReplayStep {
    case fiveSecond
    case tenSecond
    case thirtySecond
}

public enum ForwardStep {
    case fiveSecond
    case tenSecond
    case thirtySecond
}

public enum FullScreenState {
    case fullScreen
    case minimize
}

要更改回放步长和音频状态时间间隔,您可以直接在playerControl上分配

odeumPlayer.playerControl.forwardStep = .thirtySecond
odeumPlayer.playerControl.replayStep = .thirtySecond

贡献

你知道怎么做的,只需克隆并创建一个拉取请求