Lstn 0.3.5

Lstn 0.3.5

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016年12月
SwiftSwift版本3.0
SPM支持SPM

Dan Halliday 维护。



Lstn 0.3.5

  • Lstn Ltd

🎙Lstn

Lstn 是用于您应用程序文本内容的播客播放器。

安装

Lstn 通过 CocoaPods 提供。要安装,只需将以下行添加到您的Podfile中

pod "Lstn"

Lstn 需要一个令牌才能使用该服务。请 联系我们 获取一个,然后将其添加到您的应用程序的 Info.plist 文件中,在 LstnToken 键下

Setting Lstn’s token property list entry in Xcode

您还可以在 Info.plist 中使用 LSTN_TOKEN 键下的环境变量覆盖令牌值

Setting Lstn’s token environemnt variable in Xcode

您可能还希望启用当应用程序处于后台时进行音频播放。检查Xcode中应用程序目标“功能”标签下的“音频、AirPlay和画中画”后台模式

Enabling your app to play audio when in the background

快速入门

Lstn提供了一个单例实例和简单的回调接口,以方便快速使用。要加载和播放一些内容

let article = "12345-an-article-id"
let publisher = "12345-a-publisher-id"

Lstn.shared.player.load(article: article, publisher: publisher) { success in
    if success { Lstn.shared.player.play() }
}

真实世界示例

对于更大的应用程序,需要一个干净的方式来捕获所有播放器事件,因此提供了一个代理协议(PlayerDelegate)。您还可以根据需要使用 createPlayer() 工厂方法创建自己的 Player 实例

import Lstn

class Example {

    let player = Lstn.createPlayer()

    let article = "12345-an-article-id"
    let publisher = "12345-a-publisher-id"

    var loading = false
    var playing = false
    var progress = 0.0
    var error = false

    init() {
        self.player.delegate = self
    }

    func loadButtonWasTapped() {
        self.player.load(article: self.article, publisher: self.publisher)
    }

    func playButtonWasTapped() {
        self.player.play()
    }

    func stopButtonWasTapped() {
        self.player.stop()
    }

}

extension Example: PlayerDelegate {

    func loadingDidStart() {
        self.loading = true
        self.error = false
    }

    func loadingDidFinish() {
        self.loading = false
    }

    func loadingDidFail() {
        self.loading = false
        self.error = true
    }

    func playbackDidStart() {
        self.playing = true
        self.error = false
    }

    func playbackDidProgress(amount: Double) {
        self.progress = amount
    }

    func playbackDidStop() {
        self.playing = false
    }

    func playbackDidFinish() {
        self.playing = false
    }

    func playbackDidFail() {
        self.playing = false
        self.error = true
    }

    func requestPreviousItem() {
        // Playlist implementation omitted for brevity
    }

    func requestNextItem() {
        // Playlist implementation omitted for brevity
    }

}

以上可以在Lstn的测试套件中找到,还有一个等效的Objective-C示例

有关更具体的示例,请参阅在以下位置工作的示例应用程序

  • 播放视图 是一个简单的 UIView,它控制并响应用户的共享播放器
  • 文章控制器 是一个简单的 UIViewController,它从Lstn兼容的源获取文章,并使用Lstn的共享播放器播放这些文章

对于与React Native一起使用,可以在Lstn的公共演示应用程序中找到示例桥接代码


Lstn 在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。