Those callbacks aren’t what you want.
Each frame use System.getRecordPosition() to track how much audio has been recorded since the last frame, and then use Sound.@lock() to get a pointer to the data and copy it out. Be aware you’ll have to deal with the buffer wrapping around.