private MutableAudioFrame getBridgeFrame() { if (bridgeFrame == null) { bridgeFrame = new MutableAudioFrame(); bridgeFrame.setBuffer(ByteBuffer.allocate(format.maximumChunkSize())); } return bridgeFrame; }
private void passThrough(ByteBuffer buffer) throws InterruptedException { offeredFrame.setTimecode(currentTimecode); offeredFrame.setBuffer(buffer); context.frameBuffer.consume(offeredFrame); }
@Override public void process(long timecode, ShortBuffer buffer) throws InterruptedException { outputBuffer.clear(); encoder.encode(buffer, outputBuffer); offeredFrame.setTimecode(timecode); offeredFrame.setVolume(context.playerOptions.volumeLevel.get()); offeredFrame.setBuffer(outputBuffer); context.frameBuffer.consume(offeredFrame); }
public static long consumeTrack(AudioPlayer player) throws Exception { ByteBuffer buffer = ByteBuffer.allocate(960 * 2 * 2); MutableAudioFrame frame = new MutableAudioFrame(); frame.setBuffer(buffer); CRC32 crc = new CRC32(); while (player.getPlayingTrack() != null && player.provide(frame, 10, TimeUnit.SECONDS)) { buffer.flip(); crc.update(buffer.array(), buffer.position(), buffer.remaining()); } return crc.getValue(); } }