From 650dd9251bcc6852d59dec6ae2fb0c0b2596c59a Mon Sep 17 00:00:00 2001 From: lxd Date: Fri, 18 Apr 2025 09:16:49 +0800 Subject: [PATCH] bugfix : fix negative numbers are sign-extended to the high bits --- WavReader_Java/wave/WavHeaderReader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WavReader_Java/wave/WavHeaderReader.java b/WavReader_Java/wave/WavHeaderReader.java index 7f70ae9..4a7a465 100644 --- a/WavReader_Java/wave/WavHeaderReader.java +++ b/WavReader_Java/wave/WavHeaderReader.java @@ -101,8 +101,8 @@ private int toInt(int start, boolean endian) { if (!endian) { start += 3; } - return (buf[start] << 24) + (buf[start + k * 1] << 16) + - (buf[start + k * 2] << 8) + buf[start + k * 3]; + return ((buf[start] & 0xFF) << 24) + ((buf[start + k * 1] & 0xFF) << 16) + + ((buf[start + k * 2] & 0xFF) << 8) + (buf[start + k * 3] & 0xFF); } /**