Вы всё правильно делаете. Посмотрите внимательно примеры на этой странице,
http://www.adobe.com/devnet/flashmed...fp_groups.html
сверху справа можно скачать архив с примером.
Вы создали исходящий поток и приходящий, но проблема в том, что перед тем как присоединять звук к исходящему потоку нужно убедиться что поток к этому готов, для этого вы и написали строку

Код AS3:
outcomingStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
но вы на netStatusHandler что-то повесили ? Например как это сделано у меня

Код AS3:
protected function onNetStatus( event:NetStatusEvent ):void
{
_logMsg( event.info.code );
switch( event.info.code )
{
case "NetConnection.Connect.Success":
{
// We're connected...set the flag
_netConnectionConnected = true;
_createGroupSpec();
onStartOutgoingStream();
// We've connected to stratus, let's cache our ID
_nearID = event.target.nearID;
if (tmt != -1){
clearInterval(tmt);
tmt = -1;
}
net_indicator_grean.visible = true;
net_indicator_red.visible = false;
nearid = _netConnection.nearID;
// Let's create a Group to use with NetStream and NetGroup
_createGroupSpec();
break;
}
case "NetConnection.Connect.Closed":
{
restartConnection();
net_indicator_grean.visible = false;
net_indicator_red.visible = true;
}
case "NetConnection.Connect.Failed":
{
restartConnection();
net_indicator_grean.visible = false;
net_indicator_red.visible = true;
}
case "NetConnection.Connect.Rejected":
{
restartConnection();
net_indicator_grean.visible = false;
net_indicator_red.visible = true;
}
case "NetConnection.Connect.AppShutdown":
{
restartConnection();
net_indicator_grean.visible = false;
net_indicator_red.visible = true;
}
case "NetConnection.Connect.InvalidApp":
{
if( _netGroup )
{
clearNetGroup();
}
restartConnection();
// clear references
_outgoingStream = null;
_incomingStream = null;
// reset flags
_netConnectionConnected = false;
_outgoingStreamOn = false;
_incomingStreamOn = false;
net_indicator_grean.visible = false;
net_indicator_red.visible = true;
break;
}
case "NetStream.Connect.Success":
{
// Our stream connected successfully
// Let's attach video and audio (either local or remote)
if( _outgoingStreamOn )
{
_attachLocalVideoAndAudio();
}
break;
}
case "NetStream.Connect.Rejected":
case "NetStream.Connect.Failed":
{
// Our stream failed to connect
if( _outgoingStreamOn )
{
_outgoingStreamOn = false;
}
else
{
_incomingStreamOn = false;
}
break;
}
case "NetStream.Publish.Start":
{
// outgoing stream is now published.
break;
}
case "NetStream.MulticastStream.Reset":
case "NetStream.Buffer.Full":
default:
{
break;
}
// NetGroup Connection Events fire from NetConnection
case "NetGroup.Connect.Success":
{
// let's let the app know the NetGroup is connected
_netGroupConnected = true;
net_indicator_grean.visible = true;
net_indicator_red.visible = false;
question = true;
sendQuestion();
setTimeout(disableQuestion,10000);
nb = _netGroup.convertPeerIDToGroupAddress(_netConnection.nearID);
// Let's update the estimated member count
_estimatedP2PMembers = _netGroup.estimatedMemberCount;
break;
}
case "NetGroup.Connect.Rejected":
case "NetGroup.Connect.Failed":
{
// let's clear the NetGroup ref and listener
clearNetGroup();
break;
}
}
}
обратите внимание на этот участок

Код AS3:
case "NetStream.Connect.Success":
{
// Our stream connected successfully
// Let's attach video and audio (either local or remote)
if( _outgoingStreamOn )
{
_attachLocalVideoAndAudio();
}
видите тут по событию NetStream.Connect.Success атачится моё видео и аудио , а не сразу при запуске потока , как у вас сделано. Я попробовал только что запихнуть атач звука прямо в функцию старта потока и тоже перестало работать. Но странно как у Вас работает в одну сторону.