Есть библиотека BASS, которая умеет все вышеперечисленное. И захват с микрофона в потоке, и определение уровня громкости и много чего еще.
Кроме того, в реальных условиях работы в сети Интернет, при передаче через UDP, не забывайте о максимальном размере пакетов (размер MTU в байтах) - обычно он 1450-1500, но я бы рекомендовал использовать значение 1400 (по личному опыту). Иначе вы будете слышать именно те "щелчки", вместо нормального звука. Т.е. - нужно определить размер буфера принимаемого с микрофона, разбивать его на фрагменты, и отправлять так, чтобы на принимающей стороне собрать в нужной последовательности, а далее - воспроизвести.