Что касается ваших настроек, вы кодируете 20 мс звука на вызов opus_encode_float. Я не вижу итерации по этому вызову, поэтому я полагаю, что вы ничего не слышите, потому что кодируете только 20 мс звука. Вам следует передать сэмплам opus_encode_float сэмплы на 20 мс с указателем sampleBlock, увеличивающим его по всему буферу x раз.
Попробуйте закодировать больше звука и помните, что для его декодирования необходимо добавить какое-то оформление. Вы не можете просто передать весь буфер в декодер. Вы должны подать декодер один раз для каждого вызова кодера теми же данными, которые выводит каждый вызов кодера.
Дамиано