Архивы: red5

Неожиданное исчезновение звука при трансляции из Flash приложения через Red5

Есть чат на несколько десятков человек. Обычно кто-то один говорит, а остальные слушают. Периодически у некоторых пользователей пропадает звук. Если поставь NetStream на паузу и возобновить воспроизведение, то звук идёт снова. Никаких ошибок не возникает. Иногда Red5 пишет в логах, что «Consumer disconnect», но иногда нет.

Соответственно, совершенно непонятно в чём причина, т.к. с точки зрения Red5 и Flash всё работает в штатном режиме. В итоге был найден workaround средней степени костылистости.

У NetStream есть свойство «time», которое возвращает позицию воспроизведения. В случае, если кто-то говорит в микрофон, то «time» вернёт количество секунд прошедших с начала трансляции. Для решения проблемы с исчезновением звука — необходимо завести таймер, который раз в n секунд будет проверять свойство «time». Если оно не изменилось, то значит звук застыл и поток следует поставить на паузу и затем сразу же запустить воспроизведение.