Хорошо, я думаю, что проблема решена. Ошибка генерируется, когда буфер не полностью заполнен данными о времени (переполнение буфера). Я понятия не имею, какое время ожидания, но если вы испытываете это, убедитесь, что:
Вы не вызываете метод воспроизведения, пока у вас нет данных в буфере.
Вы можете генерировать данные достаточно быстро, чтобы сократить время ожидания.
После того, как вы закончили заполнять буфер данными, перед вызовом метода stop () убедитесь, что «последний» буфер был полностью заполнен данными до истечения времени ожидания.
Я имел дело с последней проблемой: всегда немного ждал (до истечения времени ожидания), затем отправлял 1 буфер, полный нулей, и, наконец, вызывал функцию stop ().
Имейте в виду, что вы всегда должны отправлять буфер меньшими порциями, даже если у вас есть большой готовый блок. Меня все еще беспокоит, что я не на 100% уверен, что это правильный путь, но ошибки исчезли, поэтому я думаю, что смогу с этим смириться:)