UNPKG

mediabunny

Version:

Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.

79 lines 2.86 kB
/*! * Copyright (c) 2026-present, Vanilagy and contributors * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ import { MetadataTags } from './metadata.js'; import { FileSlice } from './reader.js'; import { Writer } from './writer.js'; export type Id3V2Header = { majorVersion: number; revision: number; flags: number; size: number; }; export declare enum Id3V2HeaderFlags { Unsynchronisation = 128, ExtendedHeader = 64, ExperimentalIndicator = 32, Footer = 16 } export declare enum Id3V2TextEncoding { ISO_8859_1 = 0, UTF_16_WITH_BOM = 1, UTF_16_BE_NO_BOM = 2, UTF_8 = 3 } export declare const ID3_V1_TAG_SIZE = 128; export declare const ID3_V2_HEADER_SIZE = 10; export declare const ID3_V1_GENRES: string[]; export declare const parseId3V1Tag: (slice: FileSlice, tags: MetadataTags) => void; export declare const readId3V1String: (slice: FileSlice, length: number) => string; export declare const readId3V2Header: (slice: FileSlice) => Id3V2Header | null; export declare const parseId3V2Tag: (slice: FileSlice, header: Id3V2Header, tags: MetadataTags) => void; export declare class Id3V2Reader { header: Id3V2Header; bytes: Uint8Array; pos: number; view: DataView; constructor(header: Id3V2Header, bytes: Uint8Array); frameHeaderSize(): 6 | 10; ununsynchronizeAll(): void; ununsynchronizeRegion(start: number, end: number): void; removeFooter(): void; readBytes(length: number): Uint8Array<ArrayBufferLike>; readU8(): number; readU16(): number; readU24(): number; readU32(): number; readAscii(length: number): string; readId3V2Frame(): { id: string; size: number; flags: number; } | null; readId3V2TextEncoding(): Id3V2TextEncoding; readId3V2Text(encoding: Id3V2TextEncoding, until: number): string; readId3V2EncodingAndText(until: number): string; } export declare class Id3V2Writer { writer: Writer; helper: Uint8Array<ArrayBuffer>; helperView: DataView<ArrayBufferLike>; constructor(writer: Writer); writeId3V2Tag(metadata: MetadataTags): number; writeU8(value: number): void; writeU16(value: number): void; writeU32(value: number): void; writeAscii(text: string): void; writeSynchsafeU32(value: number): void; writeIsoString(text: string): void; writeUtf8String(text: string): void; writeId3V2TextFrame(frameId: string, text: string): void; writeId3V2LyricsFrame(lyrics: string): void; writeId3V2CommentFrame(comment: string): void; writeId3V2ApicFrame(mimeType: string, pictureType: number, description: string, imageData: Uint8Array): void; } //# sourceMappingURL=id3.d.ts.map