搜索插件、代码仓与 APP 分类

插件详情v0.7.16

podcast_search

一个用于搜索播客并解析播客 RSS 源的库。支持 iTunes 和 PodcastIndex 目录,以及章节和字幕等新功能。

AndroidiOSmacOSWindowsLinux
近 30 天下载
2340
喜欢数
36
Pub 分数
160

安装插件

flutter pub add podcast_search

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个用于发现播客并从 iTunes 和 PodcastIndex 等来源解析 RSS 提要的 Flutter/Dart 包。它支持现代播客功能,如章节和字幕,从而实现丰富的音频内容探索。该库简化了在应用程序中集成播客搜索和元数据检索的过程,非常适合音频应用。它可在 Android、iOS、macOS、Windows 和 Linux 等多个平台上使用。

适合场景

  • 构建播客发现应用
  • 将播客元数据集成到音频播放器中
  • 解析带有章节和字幕的RSS源
  • 创建个性化播客推荐
  • 支持跨平台播客客户端

主要特点

  • 搜索 iTunes 和 PodcastIndex
  • 解析播客 RSS 提要
  • 支持章节和字幕
  • 跨平台兼容性
  • 用于获取信息源的简单 API

适合对象

  • 音频应用开发者
  • 播客平台创建者
  • 需要播客元数据的应用
  • 跨平台音频项目
  • 使用 Flutter 在多个操作系统上的开发者

使用建议

  • 需要互联网连接以获取信息源
  • 依赖外部RSS源的质量
  • 可能需要缓存以供离线使用
  • 限制为支持的目录
  • 转录支持取决于源的可用性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

A library for searching for podcasts, parsing podcast RSS feeds and obtaining episodes details. Supports searching via iTunes and PodcastIndex.

Usage

Search for podcasts with 'widgets' in the title and find the top podcasts. Both examples limit to 10 results and are set for the United Kingdom:

import 'package:podcast_search/podcast_search.dart';

// ignore_for_file: avoid_print
void main() async {
  var search = Search();

  /// Search for podcasts with 'widgets' in the title.
  var results =
  await search.search('widgets', country: Country.unitedKingdom, limit: 10);

  /// List the name of each podcast found.
  for (var result in results.items) {
    print('Found podcast: ${result.trackName}');
  }

  /// Parse the first podcast.
  final feed = results.items[0].feedUrl;

  /// It is possible to get back a podcast with a missing feed URL, so check that.
  if (feed != null) {
    var podcast = await Feed.loadFeed(url: feed);

    /// Display episode titles.
    for (var episode in podcast.episodes) {
      print('Episode title: ${episode.title}');
    }
  }

  /// Find the top 10 podcasts in the UK.
  var charts = await search.charts(limit: 10, country: Country.unitedKingdom);

  /// List the name of each podcast found.
  for (var result in charts.items) {
    print('Episode title: ${result.trackName}');
  }
}

Supported Namespace Tags

Podcasting 2.0
  • Block
  • Chapters
  • Funding
  • GUID
  • Locked
  • Person
  • Transcripts (VTT, SRT & JSON formats)
  • Value
  • Alternate Enclosure
iTunes
  • Author
  • Episode
  • Season

所属分类

依赖

依赖清单 6 项

源码仓库

使用此插件的项目