Делаю приложение для P2P видео-звонков по протоколам RTMP, RTMFP.
К сожалению, никак не получается заставить работать акустическое эхо-подавление в PPAPI Flash, используемом в Google Chrome. Во всех остальных браузерах - все прекрасно.
*PPAPI Flash выключается в Chrome на странице "chrome://plugins/".
Тестовое приложение:
-
по RTMP;
-
по RTMFP (пока, передача peerID вручную).
*При нажатии на тильду - появляется лог с настройками микрофона и камеры.
Исходники -
RTMP,
RTMFP.
В качестве сервера используются: для RTMP - Wowza, для RTMFP - Cirrus.
Код настройки и получения микрофона:
private function getMicrophone():Microphone
{
if (!Microphone.isSupported) { return null; }
var mic:Microphone = Microphone.getEnhancedMicrophone();
if (mic) {
var options:MicrophoneEnhancedOptions = new MicrophoneEnhancedOptions();
mic.enhancedOptions = options;
} else {
mic = Microphone.getMicrophone();
if (!mic) { return null; }
}
mic.setUseEchoSuppression(true);
mic.codec = SoundCodec.SPEEX;
mic.setSilenceLevel(0);
mic.framesPerPacket = 1;
return mic;
}
Перебрал множество вариантов, никак не могу решить проблему эха.
Осталась только бредовая мысль попробовать в качестве сервера Flash Media Server.