necesito detectar en ancho de banda de las conexiones de internet con flash media server.
con flex o flash
pero lo e implementado en ambos y ninguno de ellos me funciona como lo puedo hacer
aqui les dejo el codigo
archivo bandwidthtest.as
Código ActionScript :
package com.bitratesample.document
{
import com.bitratesample.event.BandwidthEvent;
import com.bitratesample.net.SimpleClient;
import fl.controls.TextArea;
import flash.display.MovieClip;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.events.SecurityErrorEvent;
import flash.events.IOErrorEvent;
public class BandwidthTest extends MovieClip
{
public var output_txt:TextArea;
public var rtmpPath:String = "rtmp://localhost/test1/aaa";
private var _client:SimpleClient;
private var _nc:NetConnection;
public function BandwidthTest()
{
// Create the client
_client = new SimpleClient();
// Add the listener for the bandwidth result
_client.addEventListener( BandwidthEvent.BANDWIDTH_RECEIVED, _onBandwidthReceived );
// Create our net connection
_nc = new NetConnection();
// set the client on the NetConnection
_nc.client = _client;
// Create our listeners for the NetConnection
_nc.addEventListener( NetStatusEvent.NET_STATUS, _onNetStatus );
// Connect
_nc.connect( rtmpPath, true );
}
private function log( p_msg:String ):void
{
trace( p_msg );
output_txt.appendText( p_msg + "\n" );
}
// Event handler for Bandwidth event
private function _onBandwidthReceived( p_event:BandwidthEvent ):void
{
log( "Now we know our bandwidth!" );
log( "Bandwidth: " + p_event.bandwidth );
}
private function _onNetStatus( p_event:NetStatusEvent ):void
{
log( "p_event.info.code: " + p_event.info.code );
switch( p_event.info.code )
{
case "NetConnection.Connect.Success":
{
log( "The connection attempt succeeded." );
break;
}
case "NetConnection.Connect.Rejected":
{
log( "The connection attempt did not have permission to access the application." );
break;
}
case "NetConnection.Connect.Failed":
{
trace( "The connection attempt failed." );
break;
}
}
}
}
}
archivo simpleClient.as
Código ActionScript :
package com.bitratesample.net
{
import com.bitratesample.event.BandwidthEvent;
import flash.events.EventDispatcher;
public class SimpleClient extends EventDispatcher
{
public function SimpleClient()
{
}
public function onBWCheck( ... rest ):Number
{
return 0;
}
public function onBWDone( ... rest ):void
{
// Create a local bandwidth variable
var bitrate:Number;
// Get the bandwidth value from the rest array
bitrate = rest[0];
trace(bitrate);
// Dispatch an event and pass the bandwidth value
dispatchEvent( new BandwidthEvent( BandwidthEvent.BANDWIDTH_RECEIVED, bitrate ) );
}
}
}
archivo bandwidthevent.as
Código ActionScript :
package com.bitratesample.event
{
import flash.events.Event;
public class BandwidthEvent extends Event
{
static public var BANDWIDTH_RECEIVED:String = "bandwidthReceived";
public var bandwidth:int;
public function BandwidthEvent( p_type:String, p_bandwidth:int, p_bubbles:Boolean=false, p_cancelable:Boolean=false )
{
super( p_type, p_bubbles, p_cancelable );
bandwidth = p_bandwidth;
}
}
}
