Я пытаюсь сохранить файл .wav из данных, отправленных mi c, подключенным к Arduino. Данные передаются по Bluetooth, и я сохраняю их как целочисленные значения на конце Android (сейчас много шума, но значения колеблются в диапазоне 200-600).
Все это нормально ,
Я застрял в том, как сохранить его как файл .wav. Примеры, которые я видел, читают аудиоданные из AudioRecord в буфер byte [] и затем записывают его в FileOutputStream.
Примерно так:
AudioRecord audioRecord = ....;
FileOutputStream out = new FileOutputStream(file);
byte[] buffer = new byte[BUFFER_SIZE];
int read;
while((read= audioRecord.read(buffer, 0, buffer.length)) != -1) {
out.write(buffer, 0, read);
}
Я пытался сделать это, но я не использую AudioRecord, потому что у меня уже есть внешний mi c, отправляющий мне значения через Bluetooth. Мои значения - это числа (в настоящее время они анализируются как целые числа, но также могут быть сохранены как двойные), поэтому я не понимаю, как их сохранить, как в примере кода выше. Я знаю из документов, что Arduino имеет 10-битный аналого-цифровой преобразователь, поэтому он посылает значения в диапазоне 0-1023 для контакта, подключенного к mi c.
Я посмотрел на создание заголовка wav , но возможно ли сохранить реальные аудиоданные только из тех значений, которые у меня есть из mi c? Я что-то пропустил? Помня о том, что я работаю только на конце Android (мой партнер работает со стороной Arduino, поэтому я мало что знаю об этом)