Установка Java-буфера для чтения с позиции записи - смещение - PullRequest
0 голосов
/ 12 июня 2018

Я создал кольцевой буфер байтов в Java на основе нескольких существующих ресурсов и учебных пособий.Я использую линейный буфер Java-звука и записываю в большой 5-секундный кольцевой буфер.

Для одной из моих функций я хотел бы прочитать из циклического буфера за несколько мс до текущей позиции записи, а не из начальной точки циклического буфера.Как мне этого добиться?

В настоящее время я читаю из буфера, используя:

double[] readFromBuffer = new double[halfWindowSize];
input.circ.read(readFromBuffer, 0, halfWindowSize, true);

Я понимаю, что где 0, это смещение, но не уверен, как это используется.Похоже, я хочу запросить текущую позицию записи в буфере, а затем обновить позицию чтения с отрицательным смещением х байтов (однако многие равны нескольким мс).Это должно быть сделано вне моего цикла, так как я затем продолжаю чтение из буфера в цикле.

В настоящее время, когда я начинаю чтение, это начинается в начале буфера, что при построении графиков может привести к задержке до 5 секунд на входе слишком вывода, что слишком велико и заставляет программное обеспечение казаться медленным.

Любая помощь будет оценена, спасибо.

...