Java Как сохранить аудиоданные в байтовом массиве.

Может кто-нибудь сказать мне, как читать хранить аудиоданные из аудиофайла (.au) в байтовый массив? Я'Я посмотрел документацию по Java на Oracle, но я не знаю, как использовать эту информацию для написания программы.

 FThompson01 нояб. 2012 г., 00:49
ИспользоватьFileInputStream.I»

Ответы на вопрос(1)

Решение Вопроса

я угадалаудиоданные Вы хотите аудио образцы из файла AU, не включая информацию заголовка и метаданные. Если вы просто хотите загрузить содержимое файла в память, используйте FileInputStream, как предложено.

В противном случае, чтобы прочитать образцы, вы можете использоватьАудио система а такжеAudioInputStream.

File myFile = new File("test.au");
byte[] samples;

AudioInputStream is = AudioSystem.getAudioInputStream(myFile);
DataInputStream dis = new DataInputStream(is);      //So we can use readFully()
try
{
    AudioFormat format = is.getFormat();
    samples = new byte[(int)(is.getFrameLength() * format.getFrameSize())];
    dis.readFully(samples);
}
finally
{
    dis.close();
}
 prunge05 нояб. 2012 г., 03:30
Попробуйте использовать абсолютный путь в имени файла. Кроме того, вам необходимо избежать обратной косой черты в имени файла, если имя файла является строковым литералом. напримерnew File("c:\\temp\\sample.au");
 Estra06 нояб. 2012 г., 01:47
Здравствуйте, я попробовал абсолютный путь, но по какой-то причине это не сработало. Я'мы использовали ClassLoader.getResource (); и теперь это работает. Спасибо за помощь
 Estra04 нояб. 2012 г., 23:04
Привет, я'Я пытался использовать приведенный выше код, но я продолжаю получать "Исключение в теме "главный" java.io.FileNotFoundException: auSample.au (система не может найти указанный файл) " хотя у меня есть аудио файл в правильной папке. Являются ли эти изменения, которые мне нужно внести в код, или это просто я неправильно связал файл.

Ваш ответ на вопрос