Если вы хотите внедрить что-то в NetStream ... Сложнее, чем SOUND ... Думаю, здесь было бы лучше использовать Socket . Вы будете непосредственно читать байты. Возможно, в NetStream имеется сжатие, поэтому отправляемые данные не являются необработанными звуковыми данными - там понадобится какой-то класс для распаковки кодека. Когда вы наконец получите необработанные звуковые данные, добавьте туда входные данные, используя Socket.readUnsignedByte () или Socket.readFloat () , и запишите измененные данные, используя Socket.writeByte () или Socket.writeFloat () .
Это альтернатива введению спины в звук.
Для синхронизации это на самом деле довольно просто. Даже если данные могут быть отправлены не сразу, одно остается неизменным - время. Итак, когда аудио пользователя закончено, просто смешайте его, не добавляя ничего к обратной дорожке - время должно остаться прежним.
ЕСЛИ у пользователя медленная ЗАГРУЗКА интернета, так что у его возврата есть нежелательные разрывы - проверьте в SWF, достаточно ли буферизованы данные для добавления следующего звукового буфера (обычно 4096 байт, если я правильно помню) , Если да, продолжайте потоковую передачу аудио пользователя.
Если нет, НЕ выполняйте потоковую передачу и запускайте, как только данные возвращаются.