Я пытаюсь загрузить файл .mp3 и различать левый и правый каналы. Я хотел бы скопировать данные из левого канала и создать AudioStream, который воспроизводит данные из левого канала через левый и правый каналы.
Я пытался реализовать его с помощью этого кода, но, похоже, он дает неразборчивый массив байтов
InputStream inputStream = getApplicationContext().getResources().openRawResource(R.raw.flume);
soundBytes1 = new byte[inputStream.available()];
soundBytes1 = toByteArray(inputStream);
public byte[] toByteArray(InputStream in) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
int read = 0;
byte[] buffer = new byte[1024];
while (read != -1) {
read = in.read(buffer);
if (read != -1)
out.write(buffer,0,read);
}
out.close();
return out.toByteArray();
}
Я бы предпочел иметь возможность выполнять этот процесс с любым файлом .mp3. Нужно ли преобразовывать звук в какой-либо другой формат для различения каналов?