fix: use lamejs Mp3Encoder API for proper module initialization
Switched from low-level Lame API to Mp3Encoder class which: - Properly initializes all required modules (Lame, BitStream, etc.) - Handles module dependencies via setModules() calls - Provides a simpler encodeBuffer/flush API - Resolves "init_bit_stream_w is not defined" error Updated TypeScript declarations to export Mp3Encoder and WavHeader from lamejs/src/js/index.js 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
40
types/lamejs.d.ts
vendored
40
types/lamejs.d.ts
vendored
@@ -1,31 +1,15 @@
|
||||
declare module 'lamejs/src/js/MPEGMode' {
|
||||
const MPEGMode: {
|
||||
STEREO: number;
|
||||
JOINT_STEREO: number;
|
||||
DUAL_CHANNEL: number;
|
||||
MONO: number;
|
||||
NOT_SET: number;
|
||||
};
|
||||
export default MPEGMode;
|
||||
}
|
||||
declare module 'lamejs/src/js/index.js' {
|
||||
export class Mp3Encoder {
|
||||
constructor(channels: number, samplerate: number, kbps: number);
|
||||
encodeBuffer(left: Int16Array, right: Int16Array): Int8Array;
|
||||
flush(): Int8Array;
|
||||
}
|
||||
|
||||
declare module 'lamejs/src/js/Lame' {
|
||||
export default class Lame {
|
||||
lame_init(): any;
|
||||
lame_init_params(gfp: any): number;
|
||||
lame_encode_buffer(
|
||||
gfp: any,
|
||||
left: Int16Array,
|
||||
right: Int16Array,
|
||||
samples: number,
|
||||
mp3buf: Int8Array,
|
||||
mp3bufPos: number
|
||||
): number;
|
||||
lame_encode_flush(gfp: any, mp3buf: Int8Array, mp3bufPos: number): number;
|
||||
lame_close(gfp: any): number;
|
||||
export class WavHeader {
|
||||
dataOffset: number;
|
||||
dataLen: number;
|
||||
channels: number;
|
||||
sampleRate: number;
|
||||
static readHeader(dataView: DataView): WavHeader;
|
||||
}
|
||||
}
|
||||
|
||||
declare module 'lamejs/src/js/BitStream' {
|
||||
export default class BitStream {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user