我想在 2 个 Android 设备之间通过 WiFi 进行音频直播。
为了减少音频延迟,应用 Oboe C++ 库似乎是一个正确的方向。
我目前的结构是使用 DatagramPacket 来传输和接收音频数据。保存传入数据报的缓冲区的数据类型是 byte[]。根据我的研究,我需要通过JNI(Java Native Interface)将数据从byte []缓冲区传递,然后将数据读入非阻塞队列?(例如:https ://github.com/google/oboe/blob/master/samples/RhythmGame/src/main/cpp/utils/LockFreeQueue.h )
如果我理解正确,C++ 中没有 byte[] 数据类型,所以我必须将 byte[](JNI 中的 jbyteArray)转换为数据类型(例如:int16_t)?
但是,我不太清楚如何实现这样的转换?还是我走错了方向?
任何建议或示例代码将不胜感激!
非常感谢!