Anytime播客播放器
这是 Anytime Podcast Player 的官方存储库 – 一个简单的 Android 和 iOS 播客播放应用,使用 Dart 和 Flutter 构建。
入门
Anytime 目前版本为 v1.1,基于 Flutter 2.8+ 构建。查看项目以
了解当前正在进行的工作。
测试人员
如果您想帮助测试 Anytime,请点击下方图片前往 Play 商店或 Amazon App 商店。
您可以下载当前稳定版本或注册 Beta 频道并帮助测试
当前开发内容。
我非常感谢所有反馈——无论是正面的还是负面的——因为它们都有助于改进 Anytime 并确定新功能的优先级。您可以通过[email protected]联系我。
从源代码构建
如果您尚未安装 Flutter SDK,请按照 Flutter 网站上的说明进行操作。
此处。
获取 master 分支的最新代码
git clone https://github.com/amugofjava/anytime_podcast_player.git
在 anytime_podcast_player 目录下,获取依赖项
flutter packages get
然后运行
flutter run
或构建
flutter build apk
搜索引擎
Anytime 可以通过 iTunes 和 PodcastIndex 搜索播客。要使用 PodcastIndex,请先创建一个
账户https://podcastindex.org。这将生成所需的密钥
和密钥。要在 AnyTime 中启用使用 PodcastIndex 进行搜索,请将密钥和密钥作为运行时参数传递。
flutter run --dart-define=PINDEX_KEY=mykey --dart-define=PINDEX_SECRET=mysecret
如果从 Android Studio 运行,请将以下内容添加到命令行参数部分。
-t lib/main.dart --dart-define=PINDEX_KEY=mykey --dart-define=PINDEX_SECRET=mysecret
确保每个参数之间只有一个空格。我发现任何参数之间的额外空格
都会导致它们无法正确传递到 Flutter。
构建于
Anytime 使用了 pub.dev 上提供的几个很棒的包。以下是这些包的列表,它们
在应用程序中被大量使用。
- Flutter – SDK。
- Sembast – NoSQL 持久存储。
- RxDart – 为 Dart Streams 和 StreamControllers 添加了其他功能。
- Audio Service – 提供后台支持以支持音频库。
- Podcast Search – 提供播客搜索和解析。
架构
Anytime 采用分层方法
- UI – 用户看到的 UI。目前是移动端,但将来可以扩展到 Web 和/或桌面端。
- BLoC – 处理 UI 的状态。UI 和 BLoC 之间的通信完全通过 Sinks 和 Streams 进行。
- Services – 与 API 和 Repository 交互,为 BLoCs 和其他服务提供数据处理例程。
- API – 与 iTunes API(通过一个包)交互以获取和解析播客数据。
- Repository – 提供持久化存储。
贡献
如果您遇到问题或发现 bug,请在 GitHub 上提出。也欢迎提交 Pull Request。更多详细信息可以在CONTRIBUTING.md中找到。
有问题?
如果您想直接联系我,可以在[email protected]找到我。
许可证
Anytime 以 BSD 风格许可发布。有关更多详细信息,请参阅 LICENSE 文件。







