Question

I currently have an SWF application that records audio and saves it to FMS. Then inside Flash Professional I'm trying to use a FLVPlayback Component to play the recording, but it never plays.

The recording is saved here: RootInstall/applications/myapp/streams/folder/audioFile.flv

Then I have my FLVPlayback component source looking at rtmp://server-ip/myapp/streams/folder/audioFile but I can't get it to play.

I've also copied the recored audio file and stuck it in the vod application but couldn't get it to play. When I tried the sample.flv videos, they worked.

Here's how I'm recording the audio in AS3:

nc.connect("rtmp://server-ip/myapp/folder");
...
ns = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

mic = Microphone.getMicrophone();
ns.attachAudio(mic);

// start publishing
ns.publish("audioFile", "record");
Était-ce utile?

La solution

Everything on the recording side was correct, it was the way I was trying to read the FLV was incorrect.

Based on the code above here's the player side I coded.

...
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.connect("rtmp://server-ip/myapp/folder");


private function netStatusHandler(event:NetStatusEvent):void
{
    trace(event.info.code);
    switch (event.info.code)
    {
        case "NetConnection.Connect.Success" :
            //Connected Successfully
            playLiveStream();
            break;
        case "NetConnection.Connect.Rejected" :
            // Connection Rejected
            break;
        case "NetConnection.Connect.Failed" :
            // The server may be down or unreachable
            break;
        case "NetConnection.Connect.AppShutDown" :
            // The application is shutting down
            nc.close();
            break;
        case "NetConnection.Connect.Closed" :
            //Connection Closed
            break;
    }
}

private function playLiveStream():void {
    nsPlay = new NetStream(nc);
    nsPlay.client = this;
    nsPlay.bufferTime = 0.1;
    nsPlay.play("audioFile", -1); 
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top