Кодирование в MP3 в ReactJS - PullRequest
       12

Кодирование в MP3 в ReactJS

0 голосов
/ 18 декабря 2018

Я пытаюсь закодировать мои образцы данных напрямую в mp3 или wav в mp3

Я написал код преобразования wav ниже:

 function encodeWAV(samples) {
                console.log("sample rate in encoded wav:"+sampleRate);
                let buffer = new ArrayBuffer(44 + samples.length * 2);
                let view = new DataView(buffer);

                /* RIFF identifier */
                writeString(view, 0, 'RIFF');
                /* RIFF chunk length */
                view.setUint32(4, 36 + samples.length * 2, true);
                /* RIFF type */
                writeString(view, 8, 'WAVE');
                /* format chunk identifier */
                writeString(view, 12, 'fmt ');
                /* format chunk length */
                view.setUint32(16, 16, true);
                /* sample format (raw) */
                view.setUint16(20, 1, true);
                /* channel count */
                view.setUint16(22, numChannels, true);
                /* sample rate */
                view.setUint32(24, 16000, true);
                /* byte rate (sample rate * block align) */
                view.setUint32(28, 16000 * 4, true);
                /* block align (channel count * bytes per sample) */
                view.setUint16(32, numChannels * 2, true);
                /* bits per sample */
                view.setUint16(34, 16, true);
                /* data chunk identifier */
                writeString(view, 36, 'data');
                /* data chunk length */
                view.setUint32(40, samples.length * 2, true);

                floatTo16BitPCM(view, 44, samples);

                return view;
            }
        }, self);

Хотя я попытался посмотреть парунапример, - libmp3lame.js и ffmpeg , но я не знаю, как импортировать эти сценарии в мое приложение ReactJS, потому что компоненты сделаны в JSX если в этих файлах нет класса, как мы его используем?Мы не можем использовать эти сценарии в index.html , потому что тогда объект рекордера, упомянутый в компоненте, не может быть понятен, я слышу от людей, говорящих, что нет никакой разницы в JavaScript и ReactJS, и это действительно заставляет меня смеяться, хотя язнаю, что в конечном итоге этот код будет перенесен в JavaScript, который может понять браузер, но я не могу ожидать написания JavaScript без классовой функции, готовой к использованию, без экспорта и волшебного ожидания работы.

...