summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml
blob: 9d070ed2d40e1e507225725854e407b82dd9c6f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?xml version="1.0"?>
<!--                                                               -->
<!-- Adobe Flex 4 source file of VPlayer.swf,                      -->
<!-- a FlashPlayer-10 compatible component for playing             -->
<!-- FLV and MP4/H.264 video files and streams.                    -->
<!--                                                               -->
<!-- version 20120301                                              -->
<!--                                                               -->
<!--                                                               -->
<!-- The free Adobe Flex 4 SDK is required to compile              -->
<!-- this file. Get it from                                        -->
<!--                                                               -->
<!--        http://www.adobe.com/products/flex/                    -->
<!--                                                               -->
<!-- and run                                                       -->
<!--                                                               -->
<!-- mxmlc -static-link-runtime-shared-libraries VPlayer.mxml      -->
<!--                                                               -->
<!-- on the command line.                                          -->
<!--                                                               -->
<!--                                                               -->
<!-- Copyright (C) 2011 Alexander Grahn                            -->
<!--                                                               -->
<!-- This work may be distributed and/or modified under the        -->
<!-- conditions of the LaTeX Project Public License, either        -->
<!-- version 1.3 of this license or (at your option) any later     -->
<!-- version.                                                      -->
<!--                                                               -->
<!-- The latest version of this license is in                      -->
<!--   http://www.latex-project.org/lppl.txt                       -->
<!-- and version 1.3 or later is part of all distributions of      -->
<!-- LaTeX version 2005/12/01 or later.                            -->
<!--                                                               -->
<!-- This work has the LPPL maintenance status `maintained'.       -->
<!--                                                               -->
<!-- The current maintainer of this work is A. Grahn.              -->
<!--                                                               -->

<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"
    preinitialize="initialise(FlexGlobals.topLevelApplication.parameters);"
>
    <fx:Script>
        <![CDATA[
            [Bindable] private var source:String;
            [Bindable] private var autoPlay:Boolean=false;
            [Bindable] private var loop:Boolean=false;
            [Bindable] private var volume:Number=0.75;
            private var vidComplete:Boolean=false;

            import mx.core.FlexGlobals;
            private function initialise(flashVars:Object):void{
              source=flashVars.source;
              if(flashVars.autoPlay){autoPlay=(flashVars.autoPlay=='true')}
              if(flashVars.loop){loop=(flashVars.loop=='true')}
              if(flashVars.volume){volume=Number(flashVars.volume)}
            }

            import flash.events.ProgressEvent;
            private function progressHandler(event:ProgressEvent):void{
              if (event.bytesTotal) event.target.visible=true;
			  else event.target.visible=false;
			}

            import org.osmf.events.MediaPlayerStateChangeEvent;
            import mx.controls.Alert;
            private function stateChangeHandler(event:MediaPlayerStateChangeEvent):void{
			  vidComplete=false;
			  if(event.state=='playbackError')
			    Alert.show('Unable to play \''+event.target.source+'\'','Error');
			}
        ]]>
    </fx:Script>

    <s:VideoDisplay
        id="vidDisp"
        width="100%" height="100%" scaleMode="stretch"
        source="{source}" volume="{volume}"
        autoPlay="{autoPlay}" autoRewind="false" loop="{loop}"
        mouseDown="vidDisp.pause();"
        mouseUp="if(vidComplete){vidDisp.seek(0);}vidDisp.play();"
        mediaPlayerStateChange="stateChangeHandler(event);"
        complete="vidComplete=true;"
    />

    <mx:ProgressBar width="80%" mode="polled" source="vidDisp"
        horizontalCenter="0" verticalCenter="0" labelPlacement="center"
        id="loadingProgress" alpha="0.5"
        complete="loadingProgress.visible=false;"
		progress="progressHandler(event)"
    />
</s:Application>