docs/contributing/code/media/media-source.md
数据源 MediaSource 是资源(Media)的提供商。
MediaSource 主要提供函数 fetch,负责查询剧集的资源:
interface MediaSource {
suspend fun fetch(query: MediaFetchRequest): SizedSource<MediaMatch> // 可以理解为返回 List<Media>
}
目前支持两种通用数据源和一些特别支持的数据源:
SelectorMediaSource:通用 CSS Selector 数据源;RssMediaSource:通用 RSS 订阅数据源;特别支持的数据源只是实现 MediaSource 接口以接入对应平台,本文不赘述。
下面我们将着重了解 SelectorMediaSource 和 RssMediaSource。
SelectorMediaSourceSelectorMediaSource 会根据配置,使用 CSS Selector 和正则表达式,从 HTML
页面中提取资源信息及其播放方式。
自 Animeko v4.8
有以下多种方法扩展数据源支持:
Selector 和 RSS
类型数据源。只需编写一些 CSS Selector 配置即可使用。MediaSelector。参考 IkarosMediaSource(位于 datasource/ikaros)。通常需要为 Animeko
仓库提交代码,增加一个新的模块。