Podcast class

This class represents a podcast and its episodes. The Podcast is instantiated with a feed URL which is then parsed and the episode list generated.

Properties

block List<Block>
A list of Block tags.
final
Copyright
final
description String?
Optional description.
final
episodes List<Episode>
A list of current episodes.
final
funding List<Funding>
If the podcast supports funding this will contain an instance of Funding that contains the Url and optional description.
final
guid String?
The Podcasting 2.0 GUID value (optional). https://github.com/Podcastindex-org/podcast-namespace/blob/main/docs/1.0.md#guid
final
hashCode int
The hash code for this object.
no setterinherited
image String?
Url of artwork image
final
Podcast link.
final
locked → Locked?
Indicates to podcast platforms whether this feed can be imported or not. If true the feed is locked and should not be imported elsewhere.
final
persons List<Person>
A list of Person. Can be at the podcast and item level.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
title String?
Name of the podcast.
final
url String?
The URL of the podcast. Contained within the enclosure RSS tag.
final
value List<Value>
A list of Value, each can contain 0 or more ValueRecipient
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

loadChaptersByUrl({required String url, dynamic timeout = const Duration(seconds: 20)}) Future<Chapters>
Podcasts that support the newer podcast namespace can include chapter markers. Typically this is in the form of a Url in the RSS feed pointing to a JSON file. This method takes the Url and loads the chapters, return a populated Chapters object.
loadEpisodeChapters({required Episode episode, bool forceReload = false, dynamic timeout = const Duration(seconds: 20)}) Future<Episode>
Podcasts that support the newer podcast namespace can include chapter markers. Typically this is in the form of a Url in the RSS feed pointing to a JSON file. This method takes the Url and loads the chapters, storing the results in the Episode itself. Repeatedly calling this method for the same episode will, by default, not reload the chapters data and will simply return the Episode back. If you need to reload the chapters set the forceReload parameter to true.
loadFeed({required String url, dynamic timeout = const Duration(seconds: 20), String userAgent = ''}) Future<Podcast>
This method takes a Url pointing to an RSS feed containing the Podcast details and episodes. You can optionally specify a timeout value in milliseconds and a custom user-agent string that will be used in HTTP/HTTPS communications with the feed source.
loadFeedFile({required String file}) Future<Podcast>
loadTranscriptByUrl({required TranscriptUrl transcriptUrl, dynamic timeout = const Duration(seconds: 20)}) Future<Transcript>
Load a PC2.0 Transcript from a file. Transcripts can be either JSON or SRT (SubRip) format. The mime type is used to determine if either the JsonParser or SrtParser is used.
loadTranscriptFile({required String file}) Future<Transcript>
Load a PC2.0 Transcript from a file. Transcripts can be either JSON or SRT (SubRip) format. The file extension is used to determine if either the JsonParser or SrtParser is used.