In my AIR application
code as below
step 1.
var microphone:Microphone = Microphone.getEnhancedMicrophone();
...
step 2.
var connection:NetConnection = new NetConnection();
connection.connect("rtmp://localhost:1935/emcs");
step 3.
var httpService:HTTPService = new HTTPService();
httpService.method = "POST";
httpService.useProxy = false;
httpService.resultFormat ="xml";
httpService.url = serverUrl+"/BpMaster?id=1000";
httpService.send();
step 4.
when connection.connected==true ,i publish a NetStream to red5 server, code as below
var nsVoice:NetStream = new NetStream(connection);
nsVoice.client = this;
nsVoice.attachAudio(microphone);
nsVoice.bufferTime = 0;
nsVoice.publish("a_test", "live");
then microphone can not be used anymore, microphone.gain==0 forever,without step3 everythine going well.