Clappr 0.70.3

Clappr 0.70.3

测试已测试
Lang语言 SwiftSwift
许可证 BSD-3-Clause
发布最后发布2021年4月
SPM支持 SPM

Geison GoesFernando PinhoLucas FonsecaJohn TWClapprDavid RodriguesAgripino GabrielBruno Marinho 维护。



Clappr 0.70.3

  • Diego Marcon, Thiago Pontes, Gustavo Barbosa, Bruno Torres, Fernando Pinho, Uéliton Freitas, Augusto Boranga 和 Cristian Madrid 编写

Clappr for iOS 和 tvOS

image

Clappr 是一款用于 iOS 和 tvOS 的可扩展媒体播放器。

安装

CocoaPods

CocoaPods 是一个用于 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

要使用 CocoaPods 将 Clappr 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它到目标

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'Clappr', '~> 0.9.0'
end

然后,运行以下命令

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,用于构建您的依赖关系并提供二进制框架。

您可以使用以下命令通过 Homebrew 安装 Carthage

$ brew update
$ brew install carthage

要使用 Carthage 将 Clappr 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "clappr/clappr-ios"  ~> 0.9.0

运行 carthage update 以构建框架,并将构建的 Clappr.framework 拖动到您的 Xcode 项目中。

使用方法

iOS

创建

let options = [kSourceUrl : "http://clappr.io/highline.mp4"]
let player = Player(options: options)

在您的视图中添加

player.attachTo(yourView, controller: self)

媒体控制

这是一个内置的插件(即:可以被您的自己的插件替换),它可以显示媒体控制组件,例如:播放/暂停按钮、进度条、视频信息(例如:标题和/或说明)等。

在内部是一组堆叠视图,分为面板和位置,可以用来组织屏幕上的组件。

  • 面板:定义了插件将在屏幕的哪个部分渲染。选项有 topcenterbottommodal

  • 位置:定义插件将在面板的哪个部分渲染。选项有 leftcenterrightnone

Clappr自带四个默认组件:播放/暂停按钮、进度条、全屏按钮和时钟指示器。用户可以与播放进行完全交互。您可以使用自己的元素自定义它,见下文

媒体控制元素

您可以通过创建自己的媒体控制元素将自定义组件添加到MediaControl中。

为了做到这一点,您必须

  • 继承自MediaControl.Element
  • 在哪个面板位置渲染元素;
  • 有一个唯一名称;

如果您提供了与现有插件(内置)相同的名称,则插件将覆盖现有插件。

您可以查看一些示例

tvOS

创建

let options = [kSourceUrl : "https://devstreaming-cdn.apple.com/videos/streaming/examples/img_bipbop_adv_example_ts/master.m3u8"]
let player = Player(options: options)

注册自定义插件

为了注册一个自定义插件,在初始化之前,需要在Player中传递插件类型,使用以下示例中的静态方法register

let plugins = [PluginExemplo.self]
WMPlayer.register(plugins: plugins)

var player = WMPlayer(options: options)

player.attachTo(playerContainer, controller: self)

Player不支持在运行时添加或删除插件,因此需要在初始化之前注册插件。如果Player被销毁并重新创建,所有注册的插件将被重用,如下例所示

let firstTimePlugins = [PluginExemploA.self]
WMPlayer.register(plugins: firstTimePlugins)

var player = WMPlayer(options: options)

let secondTimePlugins = [PluginExemploB.self]
WMPlayer.register(plugins: secondTimePlugins)

// PluginExemploB will not be used in this instance of Player
player.attachTo(playerContainer, controller: self) 

player.destroy()

// PluginExemploA and PluginExemploB will be used in this instance of Player
player = WMPlayer(options: options)

添加到您的控制器

addChildViewController(player)
player.view.frame = view.bounds
view.addSubview(player.view)
player.didMove(toParentViewController: self)

默认配置假设在tvOS上是全屏。请确保相应的附加视图填充整个窗口区域。

播放器还支持嵌入式模式。为此,您需要通过选项禁用媒体控制

kMediaControl: false

您可以在这里了解更多关于选项的信息 (链接)。

播放状态

您可以通过使用《Player》和《Playback》的状态属性来检查播放状态。这些状态是:

@objc public enum PlaybackState: Int {
    case none = 0
    case idle = 1
    case playing = 2
    case paused = 3
    case stalling = 4
    case error = 5
}

事件

播放器抛出了一系列事件,这可能对您的应用程序很有用。

选项

您可以向播放器添加选项。您可以在《这里》看到可用选项及其使用方法。

后台外部播放

要启用您的应用程序在后台时的外部播放,您需要在应用程序的《背景模式功能》中包含 audio 值。

手动编辑Info.plist

添加 UIBackgroundModes 键。添加到您的Info.plist文件后,Xcode将将其转换为更易读的值 Required background modes,它表示一个值数组。然后,添加一个新的条目,其值为 audio,它将被转换为 App plays audio or streams audio/video using Airplay

功能选项卡

单击代表您应用的靶标。打开功能选项卡,在那里您将看到可用功能的列表。其中之一是 后台模式。将其切换到 开启 并勾选 音频、Airplay和画中画 复选框。

许可证

您可以在以下位置找到它:此处

赞助商

image