Finding Client Machine Capabilities using Flex / Flash
March 17, 2009
1 comment
In my current project Flipbook, we needed to tackle with the resolution settings on the Client side.
After googling for a while, we came to know about a very handy API from Action Script 3.0 named Capabilities. Many importent system setting on Client machine can be viewed using it which includes …
- System Resoultions
- Operating System
- Version
- Player Type
- Audio Capabilities
- Video Encouder
Using various properties for Capabilities class, you can determine different client side settings in your application. For ex. I needed to set the browser resolution based on the Current Client Resolution settings. Certainly it’s preety good to know this API.
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”
creationComplete=”onCreationComplete(event);”>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import flash.system.Capabilities
public function onCreationComplete(event:FlexEvent):void
{
showCapabilities();
}
private function showCapabilities():void
{
trace("avHardwareDisable: " + Capabilities.avHardwareDisable);
trace("hasAccessibility: " + Capabilities.hasAccessibility);
trace("hasAudio: " + Capabilities.hasAudio);
trace("hasAudioEncoder: " + Capabilities.hasAudioEncoder);
trace("hasEmbeddedVideo: " + Capabilities.hasEmbeddedVideo);
trace("hasMP3: " + Capabilities.hasMP3);
trace("hasPrinting: " + Capabilities.hasPrinting);
trace("hasScreenBroadcast: " + Capabilities.hasScreenBroadcast);
trace("hasScreenPlayback: " + Capabilities.hasScreenPlayback);
trace("hasStreamingAudio: " + Capabilities.hasStreamingAudio);
trace("hasVideoEncoder: " + Capabilities.hasVideoEncoder);
trace("isDebugger: " + Capabilities.isDebugger);
trace("language: " + Capabilities.language);
trace("localFileReadDisable: " + Capabilities.localFileReadDisable);
trace("manufacturer: " + Capabilities.manufacturer);
trace("os: " + Capabilities.os);
trace("pixelAspectRatio: " + Capabilities.pixelAspectRatio);
trace("playerType: " + Capabilities.playerType);
trace("screenColor: " + Capabilities.screenColor);
trace("screenDPI: " + Capabilities.screenDPI);
trace("screenResolutionX: " + Capabilities.screenResolutionX);
trace("screenResolutionY: " + Capabilities.screenResolutionY);
trace("serverString: " + Capabilities.serverString);
trace("version: " + Capabilities.version);
}
]]>
</mx:Script>
</mx:Application>