public void reset () { if (bitstream == null) return; try { bitstream.close(); } catch (BitstreamException ignored) { } bitstream = null; } }
public Music (OpenALAudio audio, FileHandle file) { super(audio, file); if (audio.noDevice) return; bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); bufferOverhead = 4096; try { Header header = bitstream.readFrame(); if (header == null) throw new GdxRuntimeException("Empty MP3"); int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); } catch (BitstreamException e) { throw new GdxRuntimeException("error while preloading mp3", e); } }
ByteArrayOutputStream output = new ByteArrayOutputStream(4096); Bitstream bitstream = new Bitstream(file.read()); MP3Decoder decoder = new MP3Decoder(); int sampleRate = -1, channels = -1; while (true) { Header header = bitstream.readFrame(); if (header == null) break; if (outputBuffer == null) { channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); sampleRate = header.getSampleRate(); decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); output.write(outputBuffer.getBuffer(), 0, outputBuffer.reset()); bitstream.close(); setup(output.toByteArray(), channels, sampleRate); } catch (Throwable ex) {
/** * */ public void read_allocation(Bitstream stream, Header header, Crc16 crc) { int length = get_allocationlength(header); allocation = stream.get_bits(length); if (crc != null) crc.add_bits(allocation, length); }
/** * */ public void read_allocation (Bitstream stream, Header header, Crc16 crc) { int length = get_allocationlength(header); allocation = stream.get_bits(length); channel2_allocation = stream.get_bits(length); if (crc != null) { crc.add_bits(allocation, length); crc.add_bits(channel2_allocation, length); } }
ByteArrayOutputStream output = new ByteArrayOutputStream(4096); Bitstream bitstream = new Bitstream(file.read()); MP3Decoder decoder = new MP3Decoder(); int sampleRate = -1, channels = -1; while (true) { Header header = bitstream.readFrame(); if (header == null) break; if (outputBuffer == null) { channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); sampleRate = header.getSampleRate(); decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); output.write(outputBuffer.getBuffer(), 0, outputBuffer.reset()); bitstream.close(); setup(output.toByteArray(), channels, sampleRate); } catch (Throwable ex) {
public Music (OpenALAudio audio, FileHandle file) { super(audio, file); if (audio.noDevice) return; bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); bufferOverhead = 4096; try { Header header = bitstream.readFrame(); if (header == null) throw new GdxRuntimeException("Empty MP3"); int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); } catch (BitstreamException e) { throw new GdxRuntimeException("error while preloading mp3", e); } }
/** * */ public void read_allocation(Bitstream stream, Header header, Crc16 crc) { int length = get_allocationlength(header); allocation = stream.get_bits(length); if (crc != null) crc.add_bits(allocation, length); }
public void reset () { if (bitstream == null) return; try { bitstream.close(); } catch (BitstreamException ignored) { } bitstream = null; } }
ByteArrayOutputStream output = new ByteArrayOutputStream(4096); Bitstream bitstream = new Bitstream(file.read()); MP3Decoder decoder = new MP3Decoder(); int sampleRate = -1, channels = -1; while (true) { Header header = bitstream.readFrame(); if (header == null) break; if (outputBuffer == null) { channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); sampleRate = header.getSampleRate(); decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); output.write(outputBuffer.getBuffer(), 0, outputBuffer.reset()); bitstream.close(); setup(output.toByteArray(), channels, sampleRate); } catch (Throwable ex) {
public Music (OpenALAudio audio, FileHandle file) { super(audio, file); if (audio.noDevice) return; bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); bufferOverhead = 4096; try { Header header = bitstream.readFrame(); if (header == null) throw new GdxRuntimeException("Empty MP3"); int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); } catch (BitstreamException e) { throw new GdxRuntimeException("error while preloading mp3", e); } }
/** * */ public void read_allocation (Bitstream stream, Header header, Crc16 crc) { int length = get_allocationlength(header); allocation = stream.get_bits(length); if (crc != null) crc.add_bits(allocation, length); }
public void reset () { if (bitstream == null) return; try { bitstream.close(); } catch (BitstreamException ignored) { } bitstream = null; } }
ByteArrayOutputStream output = new ByteArrayOutputStream(4096); Bitstream bitstream = new Bitstream(file.read()); MP3Decoder decoder = new MP3Decoder(); int sampleRate = -1, channels = -1; while (true) { Header header = bitstream.readFrame(); if (header == null) break; if (outputBuffer == null) { channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); sampleRate = header.getSampleRate(); decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); output.write(outputBuffer.getBuffer(), 0, outputBuffer.reset()); bitstream.close(); setup(output.toByteArray(), channels, sampleRate); } catch (Throwable ex) {
public Music (OpenALAudio audio, FileHandle file) { super(audio, file); if (audio.noDevice) return; bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); bufferOverhead = 4096; try { Header header = bitstream.readFrame(); if (header == null) throw new GdxRuntimeException("Empty MP3"); int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); } catch (BitstreamException e) { throw new GdxRuntimeException("error while preloading mp3", e); } }
public void reset () { if (bitstream == null) return; try { bitstream.close(); } catch (BitstreamException ignored) { } bitstream = null; } }
boolean setup = bitstream == null; if (setup) { bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); int minRequiredLength = buffer.length - OutputBuffer.BUFFERSIZE * 2; while (totalLength <= minRequiredLength) { Header header = bitstream.readFrame(); if (header == null) break; if (setup) { int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); setup = false; decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); int length = outputBuffer.reset(); System.arraycopy(outputBuffer.getBuffer(), 0, buffer, totalLength, length); totalLength += length;
boolean setup = bitstream == null; if (setup) { bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); int minRequiredLength = buffer.length - OutputBuffer.BUFFERSIZE * 2; while (totalLength <= minRequiredLength) { Header header = bitstream.readFrame(); if (header == null) break; if (setup) { int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); setup = false; decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); int length = outputBuffer.reset(); System.arraycopy(outputBuffer.getBuffer(), 0, buffer, totalLength, length); totalLength += length;
boolean setup = bitstream == null; if (setup) { bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); int minRequiredLength = buffer.length - OutputBuffer.BUFFERSIZE * 2; while (totalLength <= minRequiredLength) { Header header = bitstream.readFrame(); if (header == null) break; if (setup) { int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); setup = false; decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); int length = outputBuffer.reset(); System.arraycopy(outputBuffer.getBuffer(), 0, buffer, totalLength, length); totalLength += length;
boolean setup = bitstream == null; if (setup) { bitstream = new Bitstream(file.read()); decoder = new MP3Decoder(); int minRequiredLength = buffer.length - OutputBuffer.BUFFERSIZE * 2; while (totalLength <= minRequiredLength) { Header header = bitstream.readFrame(); if (header == null) break; if (setup) { int channels = header.mode() == Header.SINGLE_CHANNEL ? 1 : 2; outputBuffer = new OutputBuffer(channels, false); decoder.setOutputBuffer(outputBuffer); setup(channels, header.getSampleRate()); setup = false; decoder.decodeFrame(header, bitstream); } catch (Exception ignored) { bitstream.closeFrame(); int length = outputBuffer.reset(); System.arraycopy(outputBuffer.getBuffer(), 0, buffer, totalLength, length); totalLength += length;