Handle Video: Flash/HTML5 video player

Requires getID3() and Jaris FLV Player
This commit is contained in:
velocity37
2012-09-23 14:18:12 -07:00
committed by Shish
parent 6cbf1b7865
commit c9bacdf56d
118 changed files with 44098 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
/**
* @author Jefferson González
* @copyright 2010 Jefferson González
*
* @license
* This file is part of Jaris FLV Player.
*
* Jaris FLV Player is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License or GNU LESSER GENERAL
* PUBLIC LICENSE as published by the Free Software Foundation, either version
* 3 of the License, or (at your option) any later version.
*
* Jaris FLV Player is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and
* GNU LESSER GENERAL PUBLIC LICENSE along with Jaris FLV Player. If not,
* see <http://www.gnu.org/licenses/>.
*/
package jaris.animation;
/**
* Gives quick access usage to jaris animations
*/
class Animation
{
/**
* Quick access to fade in effect
* @param object the object to animate
* @param seconds the duration of the animation
*/
public static function fadeIn(object:Dynamic, seconds:Float):Void
{
var animation:AnimationsBase = new AnimationsBase();
animation.fadeIn(object, seconds);
}
/**
* Quick access to fade out effect
* @param object the object to animate
* @param seconds the duration of the animation
*/
public static function fadeOut(object:Dynamic, seconds:Float):Void
{
var animation:AnimationsBase = new AnimationsBase();
animation.fadeOut(object, seconds);
}
/**
* Quick access to slide in effect
* @param object the object to animate
* @param position could be top, left, bottom or right
* @param seconds the duration of the animation
*/
public static function slideIn(object:Dynamic, position:String, seconds:Float):Void
{
var animation:AnimationsBase = new AnimationsBase();
animation.slideIn(object, position, seconds);
}
/**
* Quick access to slide out effect
* @param object the object to animate
* @param position could be top, left, bottom or right
* @param seconds the duration of the animation
*/
public static function slideOut(object:Dynamic, position:String, seconds:Float):Void
{
var animation:AnimationsBase = new AnimationsBase();
animation.slideOut(object, position, seconds);
}
}

View File

@@ -0,0 +1,306 @@
/**
* @author Jefferson González
* @copyright 2010 Jefferson González
*
* @license
* This file is part of Jaris FLV Player.
*
* Jaris FLV Player is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License or GNU LESSER GENERAL
* PUBLIC LICENSE as published by the Free Software Foundation, either version
* 3 of the License, or (at your option) any later version.
*
* Jaris FLV Player is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License and
* GNU LESSER GENERAL PUBLIC LICENSE along with Jaris FLV Player. If not,
* see <http://www.gnu.org/licenses/>.
*/
package jaris.animation;
import flash.display.MovieClip;
import flash.display.Stage;
import flash.events.TimerEvent;
import flash.Lib;
import flash.utils.Timer;
/**
* Jaris main animations
*/
class AnimationsBase
{
private var _fadeInTimer:Timer;
private var _fadeOutTimer:Timer;
private var _slideInTimer:Timer;
private var _slideInOrigX:Float;
private var _slideInOrigY:Float;
private var _slideInPosition:String;
private var _slideInIncrements:Float;
private var _slideOutTimer:Timer;
private var _slideOutOrigX:Float;
private var _slideOutOrigY:Float;
private var _slideOutPosition:String;
private var _slideOutIncrements:Float;
private var _stage:Stage;
private var _movieClip:MovieClip;
private var _currentObject:Dynamic;
public function new()
{
_stage = Lib.current.stage;
_movieClip = Lib.current;
}
/**
* Moves an object until is shown
* @param event
*/
private function slideInTimer(event:TimerEvent):Void
{
var last:Bool = false;
switch(_slideInPosition)
{
case "top":
if (_currentObject.y >= _slideInOrigY) { last = true; }
_currentObject.y += _slideInIncrements;
case "left":
if (_currentObject.x >= _slideInOrigX) { last = true; }
_currentObject.x += _slideInIncrements;
case "bottom":
if (_currentObject.y <= _slideInOrigY) { last = true; }
_currentObject.y -= _slideInIncrements;
case "right":
if (_currentObject.x <= _slideInOrigX) { last = true; }
_currentObject.x -= _slideInIncrements;
}
if (last)
{
_currentObject.x = _slideInOrigX;
_currentObject.y = _slideInOrigY;
_slideInTimer.stop();
}
}
/**
* Moves an object until is hidden
* @param event
*/
private function slideOutTimer(event:TimerEvent):Void
{
if (((_currentObject.x + _currentObject.width) < 0) || (_currentObject.y + _currentObject.height < 0))
{
_currentObject.visible = false;
_currentObject.x = _slideOutOrigX;
_currentObject.y = _slideOutOrigY;
_slideOutTimer.stop();
}
else if (((_currentObject.x) > _stage.stageWidth) || (_currentObject.y > _stage.stageHeight))
{
_currentObject.visible = false;
_currentObject.x = _slideOutOrigX;
_currentObject.y = _slideOutOrigY;
_slideOutTimer.stop();
}
else
{
switch(_slideOutPosition)
{
case "top":
_currentObject.y -= _slideOutIncrements;
case "left":
_currentObject.x -= _slideOutIncrements;
case "bottom":
_currentObject.y += _slideOutIncrements;
case "right":
_currentObject.x += _slideOutIncrements;
}
}
}
/**
* Lower object transparency until not visible
* @param event
*/
private function fadeOutTimer(event:TimerEvent):Void
{
if (_currentObject.alpha > 0)
{
_currentObject.alpha -= 1 / 10;
}
else
{
_currentObject.visible = false;
_fadeOutTimer.stop();
}
}
/**
* Highers object transparency until visible
* @param event
*/
private function fadeInTimer(event:TimerEvent):Void
{
if (_currentObject.alpha < 1)
{
_currentObject.alpha += 1 / 10;
}
else
{
_fadeInTimer.stop();
}
}
/**
* Effect that moves an object into stage
* @param object the element to move
* @param slidePosition could be top, left bottom or right
* @param speed the time in seconds for duration of the animation
*/
public function slideIn(object:Dynamic, slidePosition:String, speed:Float=1000):Void
{
if (object.visible)
{
object.visible = false;
}
_slideInOrigX = object.x;
_slideInOrigY = object.y;
_slideInPosition = slidePosition;
var increments:Float = 0;
switch(slidePosition)
{
case "top":
object.y = 0 - object.height;
increments = object.height + _slideInOrigY;
case "left":
object.x = 0 - object.width;
increments = object.width + _slideInOrigX;
case "bottom":
object.y = _stage.stageHeight;
increments = _stage.stageHeight - _slideInOrigY;
case "right":
object.x = _stage.stageWidth;
increments = _stage.stageWidth - _slideInOrigX;
}
_slideInIncrements = increments / (speed / 100);
_currentObject = object;
_currentObject.visible = true;
_currentObject.alpha = 1;
_slideInTimer = new Timer(speed / 100);
_slideInTimer.addEventListener(TimerEvent.TIMER, slideInTimer);
_slideInTimer.start();
}
/**
* Effect that moves an object out of stage
* @param object the element to move
* @param slidePosition could be top, left bottom or right
* @param speed the time in seconds for duration of the animation
*/
public function slideOut(object:Dynamic, slidePosition:String, speed:Float=1000):Void
{
if (!object.visible)
{
object.visible = true;
}
_slideOutOrigX = object.x;
_slideOutOrigY = object.y;
_slideOutPosition = slidePosition;
var increments:Float = 0;
switch(slidePosition)
{
case "top":
increments = object.height + _slideOutOrigY;
case "left":
increments = object.width + _slideOutOrigX;
case "bottom":
increments = _stage.stageHeight - _slideOutOrigY;
case "right":
increments = _stage.stageWidth - _slideOutOrigX;
}
_slideOutIncrements = increments / (speed / 100);
_currentObject = object;
_currentObject.visible = true;
_currentObject.alpha = 1;
_slideOutTimer = new Timer(speed / 100);
_slideOutTimer.addEventListener(TimerEvent.TIMER, slideOutTimer);
_slideOutTimer.start();
}
/**
* Effect that dissapears an object from stage
* @param object the element to dissapear
* @param speed the time in seconds for the duration of the animation
*/
public function fadeOut(object:Dynamic, speed:Float=500):Void
{
if (!object.visible)
{
object.visible = true;
}
object.alpha = 1;
_currentObject = object;
_fadeOutTimer = new Timer(speed / 10);
_fadeOutTimer.addEventListener(TimerEvent.TIMER, fadeOutTimer);
_fadeOutTimer.start();
}
/**
* Effect that shows a hidden object an in stage
* @param object the element to show
* @param speed the time in seconds for the duration of the animation
*/
public function fadeIn(object:Dynamic, speed:Float=500):Void
{
if (object.visible)
{
object.visible = false;
}
object.alpha = 0;
_currentObject = object;
_currentObject.visible = true;
_fadeInTimer = new Timer(speed / 10);
_fadeInTimer.addEventListener(TimerEvent.TIMER, fadeInTimer);
_fadeInTimer.start();
}
}