import IsoSampleEntry from "./isoSampleEntry"; import Mpeg4BoxHeader from "../mpeg4BoxHeader"; import { ByteVector } from "../../byteVector"; import { File } from "../../file"; import { IAudioCodec, MediaTypes } from "../../properties"; /** * This class extends {@link IsoSampleEntry} and implements {@link IAudioCodec} to provide an implementation of a * ISO/IEC 14496-12 AudioSampleEntry and support for reading MPEG-4 video properties. */ export default class IsoAudioSampleEntry extends IsoSampleEntry implements IAudioCodec { private _audioChannels; private _audioSampleRate; private _audioSampleSize; /** * Private constructor to force construction via static functions. */ private constructor(); /** * Constructs and initializes a new instance of {@link IsoVisualSampleEntry} with a provided header and * handler by reading the contents from a specified file. * @param file A {@link File} to read the contents of the box from. * new instance, or undefined if no handler applies. * @param header A {@link Mpeg4BoxHeader} object containing the header to use for the new instance. * @param handlerType Type of the handler box object containing the handler that applies to the */ static fromFile(file: File, header: Mpeg4BoxHeader, handlerType: ByteVector): IsoAudioSampleEntry; /** * Gets the bitrate of the audio represented by the current instance. */ get audioBitrate(): number; /** @inheritDoc */ get audioChannels(): number; /** @inheritDoc */ get audioSampleRate(): number; /** @inheritDoc */ get audioSampleSize(): number; /** @inheritDoc */ get description(): string; /** @inheritDoc */ get durationMilliseconds(): number; /** @inheritDoc */ get mediaTypes(): MediaTypes; }