Odeum
Odeum 是一个简单的 iOS 视频播放器库,具有基本控制功能。
示例
要运行示例项目,请先克隆仓库,然后从示例目录中运行 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
贡献
你知道怎么做的,只需克隆并创建一个拉取请求