Как записать данные сокета в SourceDataLine - PullRequest
2 голосов
/ 11 марта 2012

Я пишу приложение, которое должно получать аудио с устройства, подключенного через разъем. Это соединение с устройством Android, которое отправляет аудиобайт на байт через сокет.

Теперь мой вопрос: как я могу, начиная с первого входящего байта, преобразовать эти данные в звук на моем микрофоне? Я пытаюсь преобразовать байты в аудио, чтобы использовать его в таких программах, как Skype. Я прочитал довольно много примеров по этому поводу, но ни один из них не помог мне.

Я знаю, что этот код дрянной, но я действительно застрял. Я надеюсь, что вы можете помочь мне дальше:

Mixer.Info[] mixerInfo = AudioSystem.getMixerInfo();

int mc = 0;
int finalMc = -1;

while (mc < (mixerInfo.length - 1)) {
    DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class);

    if ((mixerInfo[mc].getName()).startsWith("Microphone")) {
        finalMc = mc;
        mc = mixerInfo.length + 1;

    }

    mc++;
}

Mixer mixer = AudioSystem.getMixer(mixerInfo[finalMc]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...