В моем приложении я наследовался, javastreamingaudio класс от freeTTS пакета затем обходят метод записи, который отправляет массив байтов в SourceDataLine для обработки аудиоданных. Вместо того, чтобы писать в строку данных, я пишу это и последующие массивы байтов в буфер, который я затем приношу в свой класс и попытку обработать в звук. Мое приложение обрабатывает звук как массивы плаваний, таким образом, я преобразовываю в плавание и попытку обработать, но всегда вернуть статический звук.
Я уверен, что это - способ пойти, но пропускает что-то по пути. Я знаю, что звук обрабатывается как кадры, и каждый кадр является группой байтов так в моем приложении, я должен обработать байты в кадры так или иначе. Я смотрю на это правильный путь? Заранее спасибо за любую справку.
Во-первых, вы хотите преобразовать массив байтов в InputStream. Затем вы создаете AudioInputStream из этого входного потока, используя свою AudioSystem. Когда у вас есть аудиопоток, у вас, по сути, есть звук, и вы можете записывать его в файл или делать все, что захотите.
ByteArrayInputStream oInstream = new ByteArrayInputStream(ayAudioData);
AudioInputStream oAIS = AudioSystem.getAudioInputStream(oInstream);