У вас может быть массив байтов, такой как:
List<Byte> arrays = new ArrayList<Byte>();
Чтобы преобразовать его обратно в массивы
Byte[] soundBytes = arrays.toArray(new Byte[arrays.size()]);
(Затем вам нужно написать преобразователь для преобразования Byte[]
to byte[]
).
РЕДАКТИРОВАТЬ: Вы используете List<Byte>
неправильно, я просто покажу вам, как читать AudioInputStream
просто с ByteArrayOutputStream
.
AudioInputStream ais = ....;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int read;
while((read = ais.read()) != -1) {
baos.write(read);
}
byte[] soundBytes = baos.toByteArray();
PS IOException
выбрасывается, если frameSize
не равно 1
.Следовательно, используйте байтовый буфер для чтения данных, например:
AudioInputStream ais = ....;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int bytesRead = 0;
while((bytesRead = ais.read(buffer)) != -1) {
baos.write(buffer, 0, bytesRead);
}
byte[] soundBytes = baos.toByteArray();