lamejs icon indicating copy to clipboard operation
lamejs copied to clipboard

wav转mp3的时候lampjs报"ReferenceError: MPEGMode is not defined"

Open wwz254390130 opened this issue 3 years ago • 12 comments

在vue 里使用lampjs1.21版本 wav转 MP3报错

wwz254390130 avatar Apr 26 '22 01:04 wwz254390130

Same error here....

digitaltim-de avatar May 04 '22 11:05 digitaltim-de

src/js/Lame.js 135

gfp.mode = MPEGMode.NOT_SET; <= 此处的MPEGMode未引用,头部少了var MPEGMode = require('./MPEGMode')

chennh avatar May 15 '22 03:05 chennh

I still have the same error, any fix?

wug-ge avatar Jun 02 '22 12:06 wug-ge

The same error I get also. After temporarily inserting the import of MPEGMode above, I get this error:

runtime-core.esm-bundler.js:218 Uncaught ReferenceError: Lame is not defined at BitStream2.init_bit_stream_w (BitStream.js:1012:24) at Lame2.lame_init_params (Lame.js:1077:12) at new Mp3Encoder (index.js:111:24) at new default (mp3-encoder.js:9:20) at Proxy.start (recorder.js:53:26) at Proxy.initRecorder (TapirWidget.vue:113:21) at Proxy.toggleRecording (TapirWidget.vue:101:14) at callWithErrorHandling (runtime-core.esm-bundler.js:155:22) at callWithAsyncErrorHandling (runtime-core.esm-bundler.js:164:21) at HTMLDivElement.invoker (runtime-dom.esm-bundler.js:369:13)

Any thoughts?

tderflinger avatar Jun 02 '22 14:06 tderflinger

Hey @tderflinger,

I found this Repo which fixes it without manually intervening, but it's dirty of course: https://www.npmjs.com/package/lamejstmp

If you wanna do it manually, you have to import a few other things, this comment worked for me: https://github.com/zhuker/lamejs/issues/86#issuecomment-992499232

Also, this repo might do what you want with less boilerplate, it has lamejs bundled into it and doesn't suffer from this problem: https://github.com/closeio/mic-recorder-to-mp3

wug-ge avatar Jun 04 '22 10:06 wug-ge

Thanks for the links, @wug-ge :)

tderflinger avatar Jun 07 '22 09:06 tderflinger

when i saw the github's version 1.2.1, the missing require declarations is fixed. but i download the version of 1.2.1 from npm ,the missing require declarations are not correctly added. maybe something is wrong

Bbyford avatar Nov 04 '22 17:11 Bbyford

I use the v1.2.0 and it works.

Inchill avatar Jan 04 '23 08:01 Inchill

So i got into the same Problem that when i use lamejs = require('lamejs) i get the error: MPGEG Mode is not defined.

So i tried using the 1.2.0 Version but i dont use Bootstrap so i get an Bootstrap error with LAME not defined.

In the end my solution after 3 hours of fidgeting diffrent libraries: Just install the lamejstmp package with npm install lamejstmp

Than import lamejs in your component or serice: let lamejs = require('lamejstmp');

Thats it. I hope this get fixed in the next version.

DASMACHETE avatar Aug 02 '23 11:08 DASMACHETE

For those still looking for a solution @breezystack/lamejs

ronefel avatar Apr 07 '24 03:04 ronefel