From c3796b80141a98e27ebcd58a844fe66c0ef1488a Mon Sep 17 00:00:00 2001 From: James Ball Date: Fri, 18 Jun 2021 17:19:06 +0100 Subject: [PATCH] Correctly implement 24 bit audio --- src/main/java/sh/ball/audio/engine/XtAudioEngine.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/sh/ball/audio/engine/XtAudioEngine.java b/src/main/java/sh/ball/audio/engine/XtAudioEngine.java index c0b16dae..78034166 100644 --- a/src/main/java/sh/ball/audio/engine/XtAudioEngine.java +++ b/src/main/java/sh/ball/audio/engine/XtAudioEngine.java @@ -65,13 +65,13 @@ public class XtAudioEngine implements AudioEngine { index *= 3; byte[] byteOutput = (byte[]) output; int leftChannel = (int) (channels.getX() * 8388607); - int rightChannel = (int) (channels.getX() * 8388607); - byteOutput[index] = (byte) (leftChannel >> 16); + int rightChannel = (int) (channels.getY() * 8388607); + byteOutput[index] = (byte) leftChannel; byteOutput[index + 1] = (byte) (leftChannel >> 8); - byteOutput[index + 2] = (byte) leftChannel; - byteOutput[index + 3] = (byte) (rightChannel >> 16); + byteOutput[index + 2] = (byte) (leftChannel >> 16); + byteOutput[index + 3] = (byte) rightChannel; byteOutput[index + 4] = (byte) (rightChannel >> 8); - byteOutput[index + 5] = (byte) rightChannel; + byteOutput[index + 5] = (byte) (rightChannel >> 16); } case INT32 -> { int[] intOutput = (int[]) output;