답변

1

지금은 웹 플랫폼에서 불가능합니다. 디코딩 및 인코딩 프리미티브를 정밀 검사하여 실시간 (예 : MediaRecorder)과 오프라인 (예 : OfflineAudioContext 인코딩)에서 모두 작동하도록하려고합니다. 우리는 표준화 작업을 시작하지도 않았으며 Web Audio API를 마무리 작업 중입니다.

그러나 emscripten 덕분에, https://github.com/higuma/mp3-lame-encoder-js과 같이 wasm의 javascript로 컴파일 된 libmp3lame의 버전을 사용하여 매우 쉽게 수행 할 수 있습니다.

내가 getChannelData(channelIndex)를 사용하여 AudioBuffer에서 ArrayBuffer의를 얻는 것이 좋습니다 (복사하지 않고, 그래서 빨리) 웹 노동자에 그것을 전송하고이 끝나면 다시 메인 스레드로 인코딩 된 덩어리를 게시 할 수 있습니다.