/** @packageDocumentation Audio properties implementation for the ASF / WMA format. */ import { AudioProperties } from "../audioProperties.js"; import { ReadStyle } from "../toolkit/types.js"; /** Windows Media Audio codec variant. */ export declare enum AsfCodec { /** The codec could not be identified. */ Unknown = 0, /** Windows Media Audio v1 (WMA1, format tag 0x0160). */ WMA1 = 1, /** Windows Media Audio v2 (WMA2, format tag 0x0161). */ WMA2 = 2, /** Windows Media Audio 9 Professional (format tag 0x0162). */ WMA9Pro = 3, /** Windows Media Audio 9 Lossless (format tag 0x0163). */ WMA9Lossless = 4 } /** * Audio properties extracted from an ASF/WMA stream. * * All setter methods are intended for use by {@link AsfFile} during parsing * and are not part of the public API. */ export declare class AsfProperties extends AudioProperties { /** Duration of the stream in milliseconds. */ private _length; /** Average bitrate in kb/s. */ private _bitrate; /** Sample rate in Hz. */ private _sampleRate; /** Number of audio channels. */ private _channels; /** Bits per sample (bit depth). */ private _bitsPerSample; /** Detected WMA codec variant. */ private _codec; /** Human-readable codec name from the Codec List Object. */ private _codecName; /** Human-readable codec description from the Codec List Object. */ private _codecDescription; /** `true` when any content-encryption object is found. */ private _encrypted; /** * @param readStyle - Level of detail to use when reading properties. */ constructor(readStyle?: ReadStyle); /** Duration of the audio stream in milliseconds. */ get lengthInMilliseconds(): number; /** Average bitrate of the stream in kb/s. */ get bitrate(): number; /** Sample rate of the stream in Hz. */ get sampleRate(): number; /** Number of audio channels. */ get channels(): number; /** Bits per sample (bit depth). */ get bitsPerSample(): number; /** Detected WMA codec variant. */ get codec(): AsfCodec; /** Human-readable codec name (e.g. `"Windows Media Audio"`). */ get codecName(): string; /** Human-readable codec description (e.g. bitrate/mode information). */ get codecDescription(): string; /** `true` if the stream is encrypted with any DRM scheme. */ get isEncrypted(): boolean; /** * Set the stream duration. * @param value - Duration in milliseconds. */ setLengthInMilliseconds(value: number): void; /** * Set the average bitrate. * @param value - Bitrate in kb/s. */ setBitrate(value: number): void; /** * Set the sample rate. * @param value - Sample rate in Hz. */ setSampleRate(value: number): void; /** * Set the channel count. * @param value - Number of audio channels. */ setChannels(value: number): void; /** * Set the bit depth. * @param value - Bits per sample. */ setBitsPerSample(value: number): void; /** * Map a WMA format tag to the corresponding {@link AsfCodec} variant. * @param formatTag - The `wFormatTag` field from the WAVEFORMATEX structure. */ setCodec(formatTag: number): void; /** * Set the human-readable codec name. * @param value - Codec name string from the Codec List Object. */ setCodecName(value: string): void; /** * Set the human-readable codec description. * @param value - Description string from the Codec List Object. */ setCodecDescription(value: string): void; /** * Mark the stream as encrypted. * @param value - `true` when a content-encryption object is present. */ setEncrypted(value: boolean): void; } //# sourceMappingURL=asfProperties.d.ts.map