summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/media9/files/players
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-27 22:03:47 +0000
committerKarl Berry <karl@freefriends.org>2014-06-27 22:03:47 +0000
commit502b3247f7162d722b01b5f0cb89f6c27c12256d (patch)
tree9802be30691b917dfecdcb960443861bad2053ce /Master/texmf-dist/doc/latex/media9/files/players
parent0ae0c71bf90569f76d7ea67432cee361f79e7593 (diff)
media9 (27jun14)
git-svn-id: svn://tug.org/texlive/trunk@34456 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/media9/files/players')
-rw-r--r--Master/texmf-dist/doc/latex/media9/files/players/APlayer.mxml54
-rw-r--r--Master/texmf-dist/doc/latex/media9/files/players/APlayer9.mxml104
-rw-r--r--Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml28
-rw-r--r--Master/texmf-dist/doc/latex/media9/files/players/VPlayer9.mxml46
4 files changed, 168 insertions, 64 deletions
diff --git a/Master/texmf-dist/doc/latex/media9/files/players/APlayer.mxml b/Master/texmf-dist/doc/latex/media9/files/players/APlayer.mxml
index 78503bc4695..30ae5de9229 100644
--- a/Master/texmf-dist/doc/latex/media9/files/players/APlayer.mxml
+++ b/Master/texmf-dist/doc/latex/media9/files/players/APlayer.mxml
@@ -4,7 +4,7 @@
<!-- a FlashPlayer-10 compatible component for playing -->
<!-- MP3 audio files and streams. -->
<!-- -->
-<!-- version 20140211 -->
+<!-- version 20140625 -->
<!-- -->
<!-- -->
<!-- The free Apache Flex 4 SDK is required to compile -->
@@ -64,7 +64,9 @@
private var id3:ID3Info;
private var sndCh:SoundChannel;
private var sndTr:SoundTransform;
- private var playResumePosition:Number = 0;
+ private var playResumePos:Number = 0;
+ private var pauseAtPos:Number = -1;
+ private var toBePaused:Boolean = false;
private var plyng:Boolean = false;
private var muted:Boolean = false;
private var lastVol:Number;
@@ -117,12 +119,12 @@
break;
case 36: //home
pause();
- playResumePosition=(0);
+ playResumePos=(0);
break;
case 35: //end
if(playProgress.indeterminate) break;
pause();
- playResumePosition=(snd.length);
+ playResumePos=(snd.length);
break;
case 37: //<--
fadeEffect.end();
@@ -137,11 +139,11 @@
if(plyng)
curTime=sndCh.position;
else
- curTime=playResumePosition;
+ curTime=playResumePos;
}
keyPressed=true;
- playResumePosition=Math.max(0,curTime-deltaSeek);
- if(plyng) seek(playResumePosition/1000);
+ playResumePos=Math.max(0,curTime-deltaSeek);
+ if(plyng) seek(playResumePos/1000);
deltaSeek*=1.1;
break;
case 39: //-->
@@ -157,11 +159,11 @@
if(plyng)
curTime=sndCh.position;
else
- curTime=playResumePosition;
+ curTime=playResumePos;
}
keyPressed=true;
- playResumePosition=Math.min(snd.length-10,curTime+deltaSeek);
- seek(playResumePosition/1000);
+ playResumePos=Math.min(snd.length-10,curTime+deltaSeek);
+ seek(playResumePos/1000);
deltaSeek*=1.1;
break;
case 38:
@@ -233,17 +235,19 @@
private function loadPolicy(p:String):void {policy=p;}
- private function play():void {
+ private function play(p:Number=-1):void {
+ if(p>=0) seek(p);
if(plyng) return;
- try{sndCh = snd.play(playResumePosition, 0, sndTr);}
+ try{sndCh = snd.play(playResumePos, 0, sndTr);}
catch(e:Error){Alert.show(e.message,'Error');}
sndCh.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);
plyng = true;
}
- private function pause():void {
+ private function pause(p:Number=-1):void {
+ if(p>=0){pauseAtPos=p*1000;return;}
if(!plyng) return;
- playResumePosition = sndCh.position;
+ playResumePos = sndCh.position;
sndCh.stop();
plyng = false;
}
@@ -253,7 +257,7 @@
}
private function seek(p:Number):void {
- playResumePosition = p*1000;
+ playResumePos = p*1000;
if(!plyng) return;
sndCh.stop();
plyng = false;
@@ -288,7 +292,7 @@
}
private function currentTime():Number {
- return sndCh.position/1000;
+ return sndCh.position/1000;
}
private function playing():Boolean {
@@ -322,7 +326,7 @@
private function onSoundComplete(e:Event):void {
plyng = false;
- playResumePosition = 0;
+ playResumePos = 0;
if(loop) play();
}
@@ -340,8 +344,8 @@
playProgress.setProgress(sndCh.position,snd.length);
caption.text=formatLabel(sndCh.position);
} else {
- playProgress.setProgress(playResumePosition,snd.length);
- caption.text=formatLabel(playResumePosition);
+ playProgress.setProgress(playResumePos,snd.length);
+ caption.text=formatLabel(playResumePos);
}
}else{
if(plyng) {
@@ -349,9 +353,19 @@
caption.text=formatLabel(sndCh.position);
} else {
playProgress.setProgress(snd.bytesLoaded,snd.bytesTotal);
- caption.text=formatLabel(playResumePosition);
+ caption.text=formatLabel(playResumePos);
}
}
+ if(plyng&&pauseAtPos>=0&&sndCh.position<pauseAtPos)
+ toBePaused=true;
+ if(
+ plyng&&pauseAtPos>=0&&
+ sndCh.position>=pauseAtPos&&toBePaused
+ ){
+ pause();
+ pauseAtPos=-1;
+ toBePaused=false;
+ }
}
private function onID3Info(e:Event):void {id3 = e.target.id3;}
diff --git a/Master/texmf-dist/doc/latex/media9/files/players/APlayer9.mxml b/Master/texmf-dist/doc/latex/media9/files/players/APlayer9.mxml
index 35a154ae3fc..1a80f98c921 100644
--- a/Master/texmf-dist/doc/latex/media9/files/players/APlayer9.mxml
+++ b/Master/texmf-dist/doc/latex/media9/files/players/APlayer9.mxml
@@ -4,7 +4,7 @@
<!-- a FlashPlayer-9 compatible component for playing -->
<!-- MP3 audio files and streams. -->
<!-- -->
-<!-- version 20131114 -->
+<!-- version 20140625 -->
<!-- -->
<!-- Copyright (C) 2012-today Alexander Grahn -->
<!-- -->
@@ -50,13 +50,15 @@
private var id3:ID3Info;
private var sndCh:SoundChannel;
private var sndTr:SoundTransform;
- private var playResumePosition:Number = 0;
- private var playing:Boolean = false;
+ private var playResumePos:Number = 0;
+ private var pauseAtPos:Number = -1;
+ private var toBePaused:Boolean = false;
+ private var plyng:Boolean = false;
private var muted:Boolean = false;
private var lastVol:Number;
private var deltaSeek:Number;
- private var currentTime:Number;
+ private var curTime:Number;
private var keyPressed:Boolean=false;
private var mouseIsOver:Boolean=false;
@@ -104,12 +106,12 @@
break;
case 36: //home
pause();
- playResumePosition=(0);
+ playResumePos=(0);
break;
case 35: //end
if(playProgress.indeterminate) break;
pause();
- playResumePosition=(snd.length);
+ playResumePos=(snd.length);
break;
case 37: //<--
fadeEffect.end();
@@ -122,14 +124,14 @@
}
if(!keyPressed){
deltaSeek=Math.max(100,snd.length/10000);
- if(playing)
- currentTime=sndCh.position;
+ if(plyng)
+ curTime=sndCh.position;
else
- currentTime=playResumePosition;
+ curTime=playResumePos;
}
keyPressed=true;
- playResumePosition=Math.max(0,currentTime-deltaSeek);
- if(playing) seek(playResumePosition/1000);
+ playResumePos=Math.max(0,curTime-deltaSeek);
+ if(plyng) seek(playResumePos/1000);
deltaSeek*=1.1;
break;
case 39: //-->
@@ -143,14 +145,14 @@
}
if(!keyPressed){
deltaSeek=Math.max(100,snd.length/10000);
- if(playing)
- currentTime=sndCh.position;
+ if(plyng)
+ curTime=sndCh.position;
else
- currentTime=playResumePosition;
+ curTime=playResumePos;
}
keyPressed=true;
- playResumePosition=Math.min(snd.length-10,currentTime+deltaSeek);
- seek(playResumePosition/1000);
+ playResumePos=Math.min(snd.length-10,curTime+deltaSeek);
+ seek(playResumePos/1000);
deltaSeek*=1.1;
break;
case 38:
@@ -222,30 +224,32 @@
private function loadPolicy(p:String):void {policy=p;}
- private function play():void {
- if(playing) return;
- try{sndCh = snd.play(playResumePosition, 0, sndTr);}
+ private function play(p:Number=-1):void {
+ if(p>=0) seek(p);
+ if(plyng) return;
+ try{sndCh = snd.play(playResumePos, 0, sndTr);}
catch(e:Error){Alert.show(e.message,'Error');}
sndCh.addEventListener(Event.SOUND_COMPLETE, onSoundComplete);
- playing = true;
+ plyng = true;
}
- private function pause():void {
- if(!playing) return;
- playResumePosition = sndCh.position;
+ private function pause(p:Number=-1):void {
+ if(p>=0){pauseAtPos=p*1000;return;}
+ if(!plyng) return;
+ playResumePos = sndCh.position;
sndCh.stop();
- playing = false;
+ plyng = false;
}
private function playPause():void {
- if(playing) pause(); else play();
+ if(plyng) pause(); else play();
}
private function seek(p:Number):void {
- playResumePosition = p*1000;
- if(!playing) return;
+ playResumePos = p*1000;
+ if(!plyng) return;
sndCh.stop();
- playing = false;
+ plyng = false;
play();
}
@@ -276,6 +280,22 @@
sndCh.soundTransform=sndTr;
}
+ private function currentTime():Number {
+ return sndCh.position/1000;
+ }
+
+ private function playing():Boolean {
+ return plyng;
+ }
+
+ private function duration():Number {
+ return snd.length/1000;
+ }
+
+ private function ismuted():Boolean {
+ return muted;
+ }
+
private function initCallBacks():void {
ExternalInterface.addCallback("play", play);
ExternalInterface.addCallback("pause", pause);
@@ -287,11 +307,15 @@
ExternalInterface.addCallback("mute", mute);
ExternalInterface.addCallback("setSource", setSource);
ExternalInterface.addCallback("loadPolicy", loadPolicy);
+ ExternalInterface.addCallback("currentTime", currentTime);
+ ExternalInterface.addCallback("duration", duration);
+ ExternalInterface.addCallback("playing", playing);
+ ExternalInterface.addCallback("muted", ismuted);
}
private function onSoundComplete(e:Event):void {
- playing = false;
- playResumePosition = 0;
+ plyng = false;
+ playResumePos = 0;
if(loop) play();
}
@@ -305,22 +329,32 @@
private function onEnterFrame(e:Event):void {
if(!playProgress.indeterminate) {
- if(playing) {
+ if(plyng) {
playProgress.setProgress(sndCh.position,snd.length);
caption.text=formatLabel(sndCh.position);
} else {
- playProgress.setProgress(playResumePosition,snd.length);
- caption.text=formatLabel(playResumePosition);
+ playProgress.setProgress(playResumePos,snd.length);
+ caption.text=formatLabel(playResumePos);
}
}else{
- if(playing) {
+ if(plyng) {
playProgress.setProgress(Math.random(),1);
caption.text=formatLabel(sndCh.position);
} else {
playProgress.setProgress(snd.bytesLoaded,snd.bytesTotal);
- caption.text=formatLabel(playResumePosition);
+ caption.text=formatLabel(playResumePos);
}
}
+ if(plyng&&pauseAtPos>=0&&sndCh.position<pauseAtPos)
+ toBePaused=true;
+ if(
+ plyng&&pauseAtPos>=0&&
+ sndCh.position>=pauseAtPos&&toBePaused
+ ){
+ pause();
+ pauseAtPos=-1;
+ toBePaused=false;
+ }
}
private function onID3Info(e:Event):void {id3 = e.target.id3;}
diff --git a/Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml b/Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml
index a5f05bbb425..7d73ce43b7d 100644
--- a/Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml
+++ b/Master/texmf-dist/doc/latex/media9/files/players/VPlayer.mxml
@@ -4,7 +4,7 @@
<!-- a FlashPlayer-10 compatible component for playing -->
<!-- FLV and MP4/H.264 video files and streams. -->
<!-- -->
-<!-- version 20140306 -->
+<!-- version 20140625 -->
<!-- -->
<!-- -->
<!-- The free Apache Flex 4 SDK is required to compile -->
@@ -57,6 +57,8 @@
private var curTime:Number;
private var newPos:Number;
private var keyPressed:Boolean=false;
+ private var pauseAtPos:Number = -1;
+ private var toBePaused:Boolean = false;
import mx.core.FlexGlobals;
private function initialise(flashVars:Object):void {
@@ -155,11 +157,26 @@
if(stepping&&vidDisp.playing){vidDisp.pause();}
}
- private function play():void {
- if(vidComplete){vidDisp.seek(0);}vidDisp.play();
+ private function onCurrentTimeChange(e:Event):void {
+ if(vidDisp.playing&&pauseAtPos>=0&&vidDisp.currentTime<pauseAtPos)
+ toBePaused=true;
+ if(
+ vidDisp.playing&&pauseAtPos>=0&&
+ vidDisp.currentTime>=pauseAtPos&&toBePaused
+ ){
+ pause();
+ pauseAtPos=-1;
+ toBePaused=false;
+ }
+ }
+
+ private function play(p:Number=-1):void {
+ if(p>=0) seek(p);
+ if(vidComplete){seek(0);}vidDisp.play();
}
- private function pause():void {
+ private function pause(p:Number=-1):void {
+ if(p>=0){pauseAtPos=p;return;}
vidDisp.pause();
}
@@ -262,12 +279,13 @@
id="vidDisp"
width="100%" height="100%" scaleMode="{scaleMode}"
source="{source}" volume="{vol}"
- autoPlay="{autoPlay}" autoRewind="{autoRewind}" loop="{loop}"
+ autoPlay="{autoPlay}" autoRewind="{autoRewind}" loop="{loop}"
mouseDown="if(stepping){vidDisp.play();}else{vidDisp.pause();}this.setFocus();"
mouseUp="if(vidComplete) vidDisp.seek(0);if(!stepping){vidDisp.play();}"
mediaPlayerStateChange="onStateChange(event);"
complete="vidComplete=true;"
durationChange="vidDisp.seek(0);"
+ currentTimeChange="onCurrentTimeChange(event);"
/>
<mx:ProgressBar width="100%" mode="polled" source="vidDisp"
diff --git a/Master/texmf-dist/doc/latex/media9/files/players/VPlayer9.mxml b/Master/texmf-dist/doc/latex/media9/files/players/VPlayer9.mxml
index 6a405c30145..02c684ffe32 100644
--- a/Master/texmf-dist/doc/latex/media9/files/players/VPlayer9.mxml
+++ b/Master/texmf-dist/doc/latex/media9/files/players/VPlayer9.mxml
@@ -4,7 +4,7 @@
<!-- a FlashPlayer-9 compatible component for playing -->
<!-- FLV and MP4/H.264 video files and streams. -->
<!-- -->
-<!-- version 20131114 -->
+<!-- version 20140625 -->
<!-- -->
<!-- Copyright (C) 2012-today Alexander Grahn -->
<!-- -->
@@ -46,6 +46,8 @@
private var keyPressed:Boolean=false;
private var muted:Boolean=false;
private var lastVolume:Number;
+ private var pauseAtPos:Number = -1;
+ private var toBePaused:Boolean = false;
import flash.external.*;
private function initialise(flashVars:Object):void {
@@ -143,11 +145,26 @@
if(stepping&&vidDisp.playing){vidDisp.pause();}
}
- private function play():void {
- if(vidComplete){vidDisp.playheadTime=0;}vidDisp.play();
+ private function onPlayheadUpdate(e:Event):void {
+ if(vidDisp.playing&&pauseAtPos>=0&&vidDisp.playheadTime<pauseAtPos)
+ toBePaused=true;
+ if(
+ vidDisp.playing&&pauseAtPos>=0&&
+ vidDisp.playheadTime>=pauseAtPos&&toBePaused
+ ){
+ pause();
+ pauseAtPos=-1;
+ toBePaused=false;
+ }
+ }
+
+ private function play(p:Number=-1):void {
+ if(p>=0) seek(p);
+ if(vidComplete){seek(0);}vidDisp.play();
}
- private function pause():void {
+ private function pause(p:Number=-1):void {
+ if(p>=0){pauseAtPos=p;return;}
vidDisp.pause();
}
@@ -206,6 +223,22 @@
return fmtd;
}
+ private function currentTime():Number {
+ return vidDisp.playheadTime;
+ }
+
+ private function playing():Boolean {
+ return vidDisp.playing;
+ }
+
+ private function duration():Number {
+ return vidDisp.totalTime;
+ }
+
+ private function ismuted():Boolean {
+ return muted;
+ }
+
private function init():void {
this.setFocus();
this.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
@@ -220,6 +253,10 @@
ExternalInterface.addCallback("mute", mute);
ExternalInterface.addCallback("setSource", setSource);
ExternalInterface.addCallback("stepping", step);
+ ExternalInterface.addCallback("currentTime", currentTime);
+ ExternalInterface.addCallback("duration", duration);
+ ExternalInterface.addCallback("playing", playing);
+ ExternalInterface.addCallback("muted", ismuted);
}
]]>
</mx:Script>
@@ -239,6 +276,7 @@
stateChange="onStateChange(event);"
complete="vidComplete=true;"
rewind="vidDisp.play();"
+ playheadUpdate="onPlayheadUpdate(event);"
/>
<mx:ProgressBar width="100%" mode="polled" source="vidDisp"