Потоковое аудио на сервер - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь выполнить запись с микрофона в приложении для Android с помощью AudioRecorder, что-то вроде этого.Это работает очень хорошо, если я должен был сохранить файл локально, а затем воспроизвести его, но мне нужно отправить его, поэтому мне нужно работать с байтами:

private int sampleRate = 16000;
private int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;
private int audioFormat = AudioFormat.ENCODING_PCM_16BIT;

final byte[] buffer = new byte[minBufSize];
int minBufSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate, channelConfig,audioFormat, minBufSize*10);
recorder.startRecording();
while(true) {
    //reading data from MIC into buffer
    minBufSize = recorder.read(buffer, 0, buffer.length);
    Map<String, String> params = new HashMap<String, String>()
        {{put("type", "recording");
          put("data", new String(Base64.getEncoder().encode(buffer.toString().getBytes())));
        }};
    this.sendRequest(params); // send these through HTTP POST req
}

Хотя на принимающей стороне (сервер PHP) Я не знаю, как сохранить данные в любой воспроизводимый формат.Это неопределенная запись звука с микрофона.Любая помощь приветствуется!

...