Lstn 是用于您应用程序文本内容的播客播放器。
Lstn 通过 CocoaPods 提供。要安装,只需将以下行添加到您的Podfile中
pod "Lstn"
Lstn 需要一个令牌才能使用该服务。请 联系我们 获取一个,然后将其添加到您的应用程序的 Info.plist
文件中,在 LstnToken
键下
您还可以在 Info.plist
中使用 LSTN_TOKEN
键下的环境变量覆盖令牌值
您可能还希望启用当应用程序处于后台时进行音频播放。检查Xcode中应用程序目标“功能”标签下的“音频、AirPlay和画中画”后台模式
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示例
有关更具体的示例,请参阅在以下位置工作的示例应用程序
对于与React Native一起使用,可以在Lstn的公共演示应用程序中找到示例桥接代码
Lstn 在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。