Odeum

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

build test SwiftPM Compatible Version License Platform

示例

要运行示例项目,请克隆此 repo,并首先从 Example 目录运行 pod install

要求

安装

Cocoapods

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

pod 'Odeum'

通过 XCode 使用 Swift Package Manager

通过 Package.swift 使用 Swift Package Manager

Package.swift 中添加为您的目标依赖项

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

在您的目标中将其用作 Odeum

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

作者

Nayanda Haberty, hainayanda@outlook.com

许可证

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 中操作视频播放的方法

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

代理

您可以通过为 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
}

所有方法都是可选的

PlayerControl

如果用户点击视频播放器,它将显示 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

贡献

您知道该怎么做,只需克隆并进行 pull request