Я хочу транслировать аудио в прямом эфире через Wi-Fi между двумя устройствами Android.
Чтобы уменьшить задержку звука, применение библиотеки Oboe C ++ кажется правильным направлением.
Моя текущая структура заключается в использовании DatagramPacket для передачи и приема аудиоданных. Тип данных буфера, содержащего входящую дейтаграмму, - byte []. Согласно моему исследованию, мне нужно передать данные из буфера byte [] через JNI (собственный интерфейс Java), а затем прочитать данные в неблокирующей очереди? (например: https://github.com/google/oboe/blob/master/samples/RhythmGame/src/main/cpp/utils/LockFreeQueue.h)
Если я правильно понимаю, в C ++ нет типа данных byte [], поэтому мне нужно преобразовать byte [] (jbyteArray в JNI) в тип данных (например, int16_t)?
Однако я не очень уверен, как реализовать такое преобразование? Или даже я ошибаюсь?
Мы будем очень признательны за любые предложения или образцы кода!
Большое спасибо!