Skip to content

Latest commit

 

History

History
60 lines (37 loc) · 2.05 KB

File metadata and controls

60 lines (37 loc) · 2.05 KB

MediaSource

数据源 MediaSource资源Media)的提供商。

MediaSource 主要提供函数 fetch,负责查询剧集的资源:

interface MediaSource {
    suspend fun fetch(query: MediaFetchRequest): SizedSource<MediaMatch> // 可以理解为返回 List<Media>
}

数据源类型

目前支持两种通用数据源和一些特别支持的数据源:

  • SelectorMediaSource:通用 CSS Selector 数据源;
  • RssMediaSource:通用 RSS 订阅数据源;
  • 特别支持的数据源:
    • JellyfinMediaSourceEmbyMediaSource:Jellyfin、Emby 媒体库;
    • DmhyMediaSourceMikanMediaSource动漫花园蜜柑计划 站点;
    • IkarosMediaSourceIkaros 媒体库。

特别支持的数据源只是实现 MediaSource 接口以接入对应平台,本文不赘述。 下面我们将着重了解 SelectorMediaSourceRssMediaSource

SelectorMediaSource

SelectorMediaSource 会根据配置,使用 CSS Selector 和正则表达式,从 HTML 页面中提取资源信息及其播放方式。

数据源阶级

自 Animeko v4.8

扩展数据源支持

有以下多种方法扩展数据源支持:

  • (最简单)编写通用的数据源的配置。可以在 APP 内“设置-数据源管理”中添加 SelectorRSS 类型数据源。只需编写一些 CSS Selector 配置即可使用。
  • 实现新的 MediaSelector。参考 IkarosMediaSource(位于 datasource/ikaros)。通常需要为 Animeko 仓库提交代码,增加一个新的模块。