メインコンテンツまでスキップ
バージョン: v2 Next 🚧

抽象 クラス: TrackResolver

定義: plugins/music/src/TrackResolver.ts:41

入力(URL・検索クエリ)を Track へ解決するコンポーネント。 resolvers/ ディレクトリに置くと自動ロードされます。

メタデータ専用ソースも Resolver として表現できます。 例えば Spotify は DRM により直接再生できませんが、Resolver として曲情報(ISRC 付き)を返せば、 実際の音声は別の StreamProvider が担当できます。

@TrackResolver.define({ priority: 10 })
export class MyResolver extends TrackResolver {
canResolve(query: string) { return query.startsWith("https://example.com/"); }
async resolve({ query, requestedBy }: ResolveContext) {
return [createTrack({ title: "...", url: query, source: this.name, requestedBy })];
}
}

拡張

によって拡張された

コンストラクター

コンストラクター

new TrackResolver(): TrackResolver;

戻り値

TrackResolver

継承元

Component.constructor

プロパティ

container

readonly container: Container;

定義: src/component/Component.ts:30

フレームワーク共有サービスを持つコンテナ。

継承元

Component.container


location

readonly location: string | null;

定義: src/component/Component.ts:39

自動探索されたファイルの絶対パス。明示登録の場合は null

継承元

Component.location


logger

readonly logger: Logger;

定義: src/component/Component.ts:36

このコンポーネント用の子ロガー({ store, component } が付与済み)。

継承元

Component.logger


name

readonly name: string;

定義: src/component/Component.ts:27

ストア内で一意なコンポーネント名。

継承元

Component.name


priority

readonly priority: number;

定義: plugins/music/src/TrackResolver.ts:42


store

readonly store: ComponentStore<Component>;

定義: src/component/Component.ts:33

このコンポーネントが属するストア。

継承元

Component.store

アクセッサー

client

署名を取得する

get client(): Client;

定義: src/component/Component.ts:42

フレームワーククライアント。

戻り値

Client

継承元

Component.client


services

署名を取得する

get services(): Services;

定義: src/component/Component.ts:50

ロード済みサービスへのアクセス(services/ から自動収束)。 import せずに this.services.<名前> で参照できます。

戻り値

Services

継承元

Component.services

メソッド

canResolve()

abstract canResolve(query): boolean;

定義: plugins/music/src/TrackResolver.ts:49

この Resolver がクエリを扱えるか。副作用のない高速な判定にしてください。

パラメータ

query

string

戻り値

boolean


onLoad()?

optional onLoad(): unknown;

定義: src/component/Component.ts:55

初期化後・ストア追加前に呼ばれます。

戻り値

unknown

継承元

Component.onLoad


onUnload()?

optional onUnload(): unknown;

定義: src/component/Component.ts:58

ストアから取り除かれるときに呼ばれます(クライアント終了時を含む)。

戻り値

unknown

継承元

Component.onUnload


resolve()

abstract resolve(context): Awaitable<Track[]>;

定義: plugins/music/src/TrackResolver.ts:55

クエリをトラックへ解決します。プレイリストなら複数返します。 空配列を返すと、次に優先度の高い Resolver が試されます。

パラメータ

context

ResolveContext

戻り値

Awaitable<Track[]>


define()

static define(options?): (_target, context) => void;

定義: plugins/music/src/TrackResolver.ts:44

パラメータ

options?

TrackResolverOptions = {}

戻り値

(_target, context) => void