Interface IPlayer

IPlayer

Player の機能を抽象化したインタフェースです。

This interface provides abstraction of the Player features.

interface IPlayer {
    app: IPlayerApp;
    banner: IPlayerBanner;
    data: IDataLoader;
    fps: number;
    isLoading: boolean;
    isPlaying: boolean;
    isVideoSeeking: boolean;
    mediaBannerElement: HTMLElement;
    mediaElement: HTMLElement;
    mediaPosition: number;
    mediaSourceElement: HTMLElement;
    options: PlayerOptions;
    timer: Timer;
    video: IVideo;
    videoPosition: number;
    volume: number;
    wait: number;
    addListener(listener): void;
    createFromJSON(json, options?): Promise<IVideo>;
    createFromSongPath(songPath, options?): Promise<IVideo>;
    createFromSongUrl(songUrl, options?): Promise<IVideo>;
    createFromText(text, options?): Promise<IVideo>;
    dispose(): void;
    endVideoSeek(): void;
    findBeat(time, options?): IBeat;
    findBeatChange(startTime, endTime): TimedObjectsInRange<IBeat>;
    findChord(time, options?): IChord;
    findChordChange(startTime, endTime): TimedObjectsInRange<IChord>;
    findChorus(time, options?): IRepetitiveSegment;
    findChorusBetween(startTime, endTime): IRepetitiveSegment;
    findChorusChange(startTime, endTime): TimedObjectsInRange<IRepetitiveSegment>;
    getBeats(): IBeat[];
    getChords(): IChord[];
    getChoruses(): IRepetitiveSegment[];
    getMaxVocalAmplitude(): number;
    getMedianValenceArousal(): ValenceArousalValue;
    getValenceArousal(time): ValenceArousalValue;
    getVocalAmplitude(time): number;
    removeListener(listener): boolean;
    requestMediaSeek(position): boolean;
    requestPause(): boolean;
    requestPlay(): boolean;
    requestStageUpdate(): Promise<number>;
    requestStop(): boolean;
    setVideoPosition(position): Promise<number>;
    startVideoSeek(): void;
}

Implemented by

Properties

リリックアプリの状態

Lyric app status

banner: IPlayerBanner

Player の情報を表示する IPlayerBanner インスタンスです。

A banner instance that shows the player info.

読み込み済みの音楽地図など楽曲に関する情報

Current song map and other information related to the musical piece

fps: number

フレームレート [フレーム数/秒]

Framerate [frames per sec]

isLoading: boolean

動画(楽曲情報や歌詞など)が読み込み中か否か

Whether the video (song, lyrics, etc.) is being loaded or not

isPlaying: boolean

動画再生中か否か

Whether the video is being played or not

isVideoSeeking: boolean

動画シーク中か否か

Whether the seeking operation is ongoing on or not

mediaBannerElement: HTMLElement

音源などに関するバナーの配置先となるDOM要素

Media banner element

mediaElement: HTMLElement

音源メディアの配置先となるDOM要素

Media element

mediaPosition: number

現在の音源メディアの再生位置 [ms]

Current media position [ms]

mediaSourceElement: HTMLElement

音源メディアの直接の配置先となるDOM要素

Media source element

options: PlayerOptions

プレイヤーの初期化オプション

Player options

timer: Timer

Player の音源の再生状態を管理する Timer インスタンスです。

A timer instance that controls the player status.

video: IVideo

動画オブジェクト

Current video object

videoPosition: number

現在の動画の再生位置 [ms]

Current video position [ms]

volume: number

音量 [0-100]

Volume [0-100]

wait: number

動画の描画間隔 [ms]

A time window between rendering frames [ms]

Methods

  • イベントリスナを登録する

    Add event listener

    Parameters

    • listener: any

      イベントリスナ / Event listener

    Returns void

  • 動画情報を表すデータ(VideoData)から動画データを生成する

    Generate video data from JSON

    Parameters

    • json: VideoData

      動画情報 / JSON data to be converted to a video

    • Optional options: PlayerVideoOptions

      オプション / Optional data to build the video object

    Returns Promise<IVideo>

    動画オブジェクト / Video object

  • 楽曲パス(URLから http:// などのプロトコル部分を除いたもの)に基づいて音楽地図などを読み込み、動画データを生成する

    Generate video data from song path

    Parameters

    • songPath: string

      楽曲パス / Song path

    • Optional options: PlayerVideoOptions

      オプション / Optional data to build the video object

    Returns Promise<IVideo>

    動画オブジェクト / Video object

  • 楽曲URLに基づいて音楽地図などを読み込み、動画データを生成する

    Generate video data from song URL

    Parameters

    • songUrl: string

      楽曲URL / Song URL

    • Optional options: PlayerVideoOptions

      オプション / Optional data to build the video object

    Returns Promise<IVideo>

    動画オブジェクト / Video object

  • テキストからダミーの音楽地図情報と動画データを生成する

    Generate video data from text

    Parameters

    • text: string

      テキスト / Text to show

    • Optional options: PlayerVideoOptions

      オプション / Optional data to build the video object

    Returns Promise<IVideo>

    動画オブジェクト / Video object

  • プレイヤーを破棄する

    Dispose this player

    Returns void

  • 指定された位置のビート情報を取得する

    Find beat that overlaps with the specified timing

    Parameters

    • time: number

      位置 [ms] / Position [ms]

    • Optional options: FindTimedObjectOptions

      取得オプション / Optional parameters for finding beat

    Returns IBeat

    ビート情報(見つからなければ null) / Beat info (null if not found)

  • 指定された時区間のビート情報の変化を取得する

    Look for beat transitions in the specified time range

    Parameters

    • startTime: number

      時区間の開始位置 [ms] / Start position [ms]

    • endTime: number

      時区間の終了位置 [ms] / End position [ms]

    Returns TimedObjectsInRange<IBeat>

    ビート情報の変化 / Beat transitions

  • 指定された位置のコード進行を取得する

    Find chord that overlaps with the specified timing

    Parameters

    • time: number

      位置 [ms] / Position [ms]

    • Optional options: FindTimedObjectOptions

      探索オプション / Optional parameters for finding chord

    Returns IChord

    コード進行(見つからなければ null) / Chord info (null if not found)

  • 指定された時区間のコード進行の変化を取得する

    Look for chord progressions in the specified time range

    Parameters

    • startTime: number

      時区間の開始位置 [ms] / Start position [ms]

    • endTime: number

      時区間の終了位置 [ms] / End position [ms]

    Returns TimedObjectsInRange<IChord>

    コード進行の変化 / Chord progressions

  • 指定された位置のサビ情報を取得する

    Find a chorus part that overlaps with the specified timing

    Parameters

    • time: number

      位置 [ms] / Position [ms]

    • Optional options: FindTimedObjectOptions

      取得オプション / Optional parameters for finding a chorus part

    Returns IRepetitiveSegment

    サビ情報(見つからなければ null) / Chorus part info (null if not found)

  • 指定された時区間のサビ情報の変化を取得する

    Look for chorus part transitions in the specified time range

    Parameters

    • startTime: number

      時区間の開始位置 [ms] / Start position [ms]

    • endTime: number

      時区間の終了位置 [ms] / End position [ms]

    Returns TimedObjectsInRange<IRepetitiveSegment>

    サビ情報の変化 / Chorus part transitions

  • 楽曲中のビートに関する情報を取得する

    Get beats in the current song

    Returns IBeat[]

    ビート情報(見つからなければ空の配列) / Beats (empty array if not found)

  • 楽曲中のコード進行に関する情報を取得する

    Get chord info in the current song

    Returns IChord[]

    コード進行の情報(見つからなければ空の配列) / Chord info (empty array if not found)

  • 楽曲中のサビに関する情報を取得する

    Get chorus parts in the current song

    Returns IRepetitiveSegment[]

    サビ情報(見つからなければ空の配列) / Chorus parts (empty array if not found)

  • イベントリスナを削除する

    Remove event listener

    Parameters

    • listener: any

      イベントリスナ / Event listener

    Returns boolean

    削除の成否 / Whether the listener was successfully removed or not

  • 楽曲の再生位置を指定する

    Seek specified position in the current media

    Parameters

    • position: number

      再生位置 [ms] / Media position [ms]

    Returns boolean

  • 楽曲の再生を一時停止する

    Pause playing music

    Returns boolean

    一時停止の成否

  • 楽曲の再生を開始する

    Start playing music

    Returns boolean

    開始の成否

  • 動画の現在のフレームを強制的に再描画する

    Force rendering current frame

    Returns Promise<number>

    動画の現在位置 [ms] / Video position [ms]

  • 楽曲の再生を停止する(一時停止したうえで先頭に巻き戻しする)

    Stop playing music (pause and then seek the beginning)

    Returns boolean

    停止の成否

  • 動画の再生位置を指定する

    Try setting video position

    Parameters

    • position: number

      再生位置 [ms] / Video position [ms]

    Returns Promise<number>