UNPKG

tav-media

Version:

Cross platform media editing framework

69 lines (68 loc) 1.76 kB
import { TAVObject } from '../types/tav-object'; import { tav } from '../tav'; /** * A light weight container for audiovisual media. * @hideconstructor * @category Assets */ export declare class Asset extends TAVObject { /** * Returns the type of this asset */ readonly type: string; protected _nativeObject: tav.Asset | undefined; private _path; /** * Constructors are used by parsers, don't use it in your code. */ constructor(id?: string, path?: string); /** * Build the native asset based on the path. * @returns The native asset object */ build(): Promise<tav.Asset> | undefined; /** * Release the native asset. */ release(): void; /** * Call native methods to create the native asset object. */ protected createAsset(): Promise<tav.Asset> | undefined; /** * Update the native asset object based on the properties of this asset. * @param asset The native asset object */ protected updateAsset(asset: tav.Asset): void; /** * Get or set the path of this asset. * Setting the path will invalidate the native asset. * You */ get path(): string; set path(path: string); /** * Get the native asset object */ get nativeAsset(): tav.Asset; /** * Returns true if this asset has audio output. */ get hasAudio(): boolean; /** * Returns true if this asset has video output. */ get hasVideo(): boolean; /** * Returns the duration of this asset. */ get duration(): number; /** * Returns the width of this asset. */ get width(): number; /** * Returns the height of this asset. */ get height(): number; }