Odeum 是一个简单的 iOS 视频播放器库,具有基本控制功能
要运行示例项目,请克隆此 repo,并首先从 Example 目录运行 pod install
。
Odeum 可通过 CocoaPods 获得。 要安装它,只需将以下行添加到您的 Podfile 中
pod 'Odeum'
在 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 中操作视频播放的方法
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
您知道该怎么做,只需克隆并进行 pull request