static void javaLame_wavToMP3_mono(File wav, File mp3) ctex { long time = sysNow(); temp WAVDecoder decoder = new(newFileInputStream(wav)); byte[] pcm = byteArrayFromShorts_littleEndian(decodeWAVToMonoSamples(decoder, wav)); LameEncoder encoder = new(javaSound_pcmSignedLittleEndianMono(decoder.sampleRate)); temp FileOutputStream out = new(mp3); byte[] buffer = new byte[encoder.getPCMBufferSize()]; int bytesToTransfer = min(l(buffer), l(pcm)), bytesWritten; int currentPcmPosition = 0; while (0 < (bytesWritten = encoder.encodeBuffer(pcm, currentPcmPosition, bytesToTransfer, buffer))) { currentPcmPosition += bytesToTransfer; bytesToTransfer = min(l(buffer), l(pcm) - currentPcmPosition); out.write(buffer, 0, bytesWritten); } encoder.close(); done2_always(time, "Pure-Java-converted " + wav + " to " + mp3); }