tav-media
Version:
Cross platform media editing framework
69 lines (68 loc) • 1.76 kB
TypeScript
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;
}