Flex: convert VideoPlayer.currentTime to string "00:00:00:000"

Posted by numediaweb on Stack Overflow See other posts from Stack Overflow or by numediaweb
Published on 2010-05-17T18:05:31Z Indexed on 2010/05/18 18:50 UTC
Read the original article Hit count: 281

Filed under:
|
|
|
|

Hi there! what about this one:

I want to format the currentTime displayed by a videoPlayer component inside flex, something like : 8230.999 to something like 01:59:59:999 which is "hours:minutes:seconds:milliseconds"

I trie different sets of codes but they can't get it to work because currentTime is nor a correct miliseconds time as it adds a floating 3 digit point to seconds;

so instead of : 2000ms it outputs 2.000

something people like me just can't understand!

thanx for any help :)

### UPDATE

I still have problem with milliseconds. here's the current MXML:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

    <fx:Script>
        <![CDATA[
            protected function convert_clickHandler(event:MouseEvent):void
            {
                var val:Number = new Number(inPut.text); //inPut.text = 1000.001

                //val = val * 1000;
                outPut.text = timeFormat(val);
            }
            public static function timeFormat(value:Number):String
            {
                var milliseconds:Number  = value % 1000;
                var seconds:Number  = Math.floor((value/1000) % 60);
                var minutes:Number  = Math.floor((value/60000) % 60);
                var hours:Number  = Math.floor((value/3600000) % 24);

                var s_miliseconds:String     = (milliseconds<10 ? "00" : (milliseconds<100 ? "0" : ""))+ String(milliseconds);
                var s_seconds:String     = seconds < 10 ? "0" + String(seconds) : String(seconds); 
                var s_minutes:String     = minutes < 10 ? "0" + String(minutes) : String(minutes); 
                var s_hours:String     = hours < 10 ? "0" + String(hours) : String(hours);

                return s_hours  + ":" + s_minutes  + ":" + s_seconds + '.'+s_miliseconds;
                // returns 00:00:01.000.0009999999999763531 should return 00:00:01.001
                // I still have problem with milliseconds
            }

        ]]>
    </fx:Script>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:TextInput x="240" y="72" id="inPut" text="1000.001"/>
    <s:TextInput x="240" y="140" id="outPut"/>
    <s:Button x="274" y="107" label="convert" id="convert" click="convert_clickHandler(event)"/>
</s:Application>

© Stack Overflow or respective owner

Related posts about flex

Related posts about actionscript-3