More prepatory renaming and refactoring. Nothing of interest.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@705 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
@@ -63,9 +63,9 @@ import com.threerings.util.ValueEvent;
|
|||||||
import com.threerings.util.Util;
|
import com.threerings.util.Util;
|
||||||
|
|
||||||
import com.threerings.flash.media.FlvVideoPlayer;
|
import com.threerings.flash.media.FlvVideoPlayer;
|
||||||
|
import com.threerings.flash.media.MediaPlayerCodes;
|
||||||
import com.threerings.flash.media.SimpleVideoDisplay;
|
import com.threerings.flash.media.SimpleVideoDisplay;
|
||||||
import com.threerings.flash.media.VideoPlayer;
|
import com.threerings.flash.media.VideoPlayer;
|
||||||
import com.threerings.flash.media.VideoPlayerCodes;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatched when the size of the media being loaded is known.
|
* Dispatched when the size of the media being loaded is known.
|
||||||
@@ -751,7 +751,7 @@ public class MediaContainer extends Sprite
|
|||||||
|
|
||||||
} else if (_media is SimpleVideoDisplay) {
|
} else if (_media is SimpleVideoDisplay) {
|
||||||
var vid :SimpleVideoDisplay = SimpleVideoDisplay(_media);
|
var vid :SimpleVideoDisplay = SimpleVideoDisplay(_media);
|
||||||
// vid.removeEventListener(VideoPlayerCodes.SIZE, handleVideoSizeKnown);
|
// vid.removeEventListener(MediaPlayerCodes.SIZE, handleVideoSizeKnown);
|
||||||
vid.unload();
|
vid.unload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,11 +68,11 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
|
|
||||||
_netStream.play(url);
|
_netStream.play(url);
|
||||||
if (_autoPlay) {
|
if (_autoPlay) {
|
||||||
updateState(VideoPlayerCodes.STATE_PLAYING);
|
updateState(MediaPlayerCodes.STATE_PLAYING);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
_netStream.pause();
|
_netStream.pause();
|
||||||
updateState(VideoPlayerCodes.STATE_READY);
|
updateState(MediaPlayerCodes.STATE_READY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
{
|
{
|
||||||
if (_netStream != null) {
|
if (_netStream != null) {
|
||||||
_netStream.resume();
|
_netStream.resume();
|
||||||
updateState(VideoPlayerCodes.STATE_PLAYING);
|
updateState(MediaPlayerCodes.STATE_PLAYING);
|
||||||
}
|
}
|
||||||
// TODO: throw an error if _netStream == null??
|
// TODO: throw an error if _netStream == null??
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
{
|
{
|
||||||
if (_netStream != null) {
|
if (_netStream != null) {
|
||||||
_netStream.pause();
|
_netStream.pause();
|
||||||
updateState(VideoPlayerCodes.STATE_PAUSED);
|
updateState(MediaPlayerCodes.STATE_PAUSED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -190,12 +190,12 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
_vid.width = _size.x;
|
_vid.width = _size.x;
|
||||||
_vid.height = _size.y;
|
_vid.height = _size.y;
|
||||||
|
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.SIZE, _size.clone()));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.SIZE, _size.clone()));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function handlePositionCheck (event :TimerEvent) :void
|
protected function handlePositionCheck (event :TimerEvent) :void
|
||||||
{
|
{
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.POSITION, getPosition()));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.POSITION, getPosition()));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function handleNetStatus (event :NetStatusEvent) :void
|
protected function handleNetStatus (event :NetStatusEvent) :void
|
||||||
@@ -203,7 +203,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
var info :Object = event.info;
|
var info :Object = event.info;
|
||||||
if ("error" == info.level) {
|
if ("error" == info.level) {
|
||||||
log.warning("NetStatus error: " + info.code);
|
log.warning("NetStatus error: " + info.code);
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.ERROR, info.code));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.ERROR, info.code));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// else info.level == "status"
|
// else info.level == "status"
|
||||||
@@ -228,7 +228,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
// rewind to the beginning
|
// rewind to the beginning
|
||||||
_netStream.seek(0);
|
_netStream.seek(0);
|
||||||
_netStream.pause();
|
_netStream.pause();
|
||||||
updateState(VideoPlayerCodes.STATE_PAUSED);
|
updateState(MediaPlayerCodes.STATE_PAUSED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "NetStream.Seek.Notify":
|
case "NetStream.Seek.Notify":
|
||||||
@@ -258,7 +258,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
protected function redispatchError (event :ErrorEvent) :void
|
protected function redispatchError (event :ErrorEvent) :void
|
||||||
{
|
{
|
||||||
log.warning("got video error: " + event);
|
log.warning("got video error: " + event);
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.ERROR, event.text));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.ERROR, event.text));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -274,7 +274,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
if ("duration" in info) {
|
if ("duration" in info) {
|
||||||
_duration = Number(info.duration);
|
_duration = Number(info.duration);
|
||||||
if (!isNaN(_duration)) {
|
if (!isNaN(_duration)) {
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.DURATION, _duration));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.DURATION, _duration));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -284,14 +284,14 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
const oldState :int = _state;
|
const oldState :int = _state;
|
||||||
|
|
||||||
_state = newState;
|
_state = newState;
|
||||||
dispatchEvent(new ValueEvent(VideoPlayerCodes.STATE, newState));
|
dispatchEvent(new ValueEvent(MediaPlayerCodes.STATE, newState));
|
||||||
|
|
||||||
if (_state == VideoPlayerCodes.STATE_PLAYING) {
|
if (_state == MediaPlayerCodes.STATE_PLAYING) {
|
||||||
_positionChecker.start();
|
_positionChecker.start();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
_positionChecker.reset();
|
_positionChecker.reset();
|
||||||
if (oldState == VideoPlayerCodes.STATE_PLAYING) {
|
if (oldState == MediaPlayerCodes.STATE_PLAYING) {
|
||||||
handlePositionCheck(null);
|
handlePositionCheck(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -307,7 +307,7 @@ public class FlvVideoPlayer extends EventDispatcher
|
|||||||
|
|
||||||
protected var _netStream :NetStream;
|
protected var _netStream :NetStream;
|
||||||
|
|
||||||
protected var _state :int = VideoPlayerCodes.STATE_UNREADY;
|
protected var _state :int = MediaPlayerCodes.STATE_UNREADY;
|
||||||
|
|
||||||
/** Our size, null until known. */
|
/** Our size, null until known. */
|
||||||
protected var _size :Point;
|
protected var _size :Point;
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
//
|
||||||
|
// $Id$
|
||||||
|
|
||||||
|
package com.threerings.flash.media {
|
||||||
|
|
||||||
|
import flash.events.IEventDispatcher;
|
||||||
|
|
||||||
|
import com.threerings.util.ValueEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatched when the state of the mediaplayer changes, usually in response to commands
|
||||||
|
* such as play/pause, etc.
|
||||||
|
* <b>value</b>: an int state. @see MediaPlayerCodes
|
||||||
|
*
|
||||||
|
* @eventType com.threerings.flash.media.MediaPlayerCodes.STATE
|
||||||
|
*/
|
||||||
|
[Event(name="state", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatched when the total duration of the media is known.
|
||||||
|
* <b>value</b>: a Number expressing the duration in seconds.
|
||||||
|
*
|
||||||
|
* @eventType com.threerings.flash.media.MediaPlayerCodes.DURATION
|
||||||
|
*/
|
||||||
|
[Event(name="duration", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatched periodically as the position is updated, during playback.
|
||||||
|
* <b>value</b>: a Number expressing the position in seconds.
|
||||||
|
*
|
||||||
|
* @eventType com.threerings.flash.media.MediaPlayerCodes.POSITION
|
||||||
|
*/
|
||||||
|
[Event(name="position", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Dispatched when there's a problem.
|
||||||
|
* <b>value</b>: a String error code/message.
|
||||||
|
*
|
||||||
|
* @eventType com.threerings.flash.media.MediaPlayerCodes.ERROR
|
||||||
|
*/
|
||||||
|
[Event(name="error", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implemented by media-playing backends.
|
||||||
|
*/
|
||||||
|
public interface MediaPlayer extends IEventDispatcher
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return a MediaPlayerCodes state constant.
|
||||||
|
*/
|
||||||
|
function getState () :int;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Play the media, if not already.
|
||||||
|
*/
|
||||||
|
function play () :void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pause the media, if not already.
|
||||||
|
*/
|
||||||
|
function pause () :void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the duration of the media, in seconds, or NaN if not yet known.
|
||||||
|
*/
|
||||||
|
function getDuration () :Number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the position of the media, in seconds, or NaN if not yet ready.
|
||||||
|
*/
|
||||||
|
function getPosition () :Number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Seek to the specified position.
|
||||||
|
*/
|
||||||
|
function seek (position :Number) :void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the volume, between 0-1.
|
||||||
|
*/
|
||||||
|
function setVolume (volume :Number) :void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the volume, from 0 to 1.
|
||||||
|
*/
|
||||||
|
function getVolume () :Number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unload the media.
|
||||||
|
*/
|
||||||
|
function unload () :void;
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-1
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
package com.threerings.flash.media {
|
package com.threerings.flash.media {
|
||||||
|
|
||||||
public class VideoPlayerCodes
|
public class MediaPlayerCodes
|
||||||
{
|
{
|
||||||
public static const STATE :String = "state";
|
public static const STATE :String = "state";
|
||||||
|
|
||||||
@@ -11,6 +11,7 @@ public class VideoPlayerCodes
|
|||||||
|
|
||||||
public static const POSITION :String = "position";
|
public static const POSITION :String = "position";
|
||||||
|
|
||||||
|
/** Only applicable for VideoPlayer. */
|
||||||
public static const SIZE :String = "size";
|
public static const SIZE :String = "size";
|
||||||
|
|
||||||
public static const ERROR :String = "error";
|
public static const ERROR :String = "error";
|
||||||
@@ -19,7 +19,7 @@ import com.threerings.util.ValueEvent;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.SIZE
|
* @eventType com.threerings.flash.video.MediaPlayerCodes.SIZE
|
||||||
*/
|
*/
|
||||||
[Event(name="size", type="com.threerings.util.ValueEvent")]
|
[Event(name="size", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
@@ -38,11 +38,11 @@ public class SimpleVideoDisplay extends Sprite
|
|||||||
public function SimpleVideoDisplay (player :VideoPlayer)
|
public function SimpleVideoDisplay (player :VideoPlayer)
|
||||||
{
|
{
|
||||||
_player = player;
|
_player = player;
|
||||||
_player.addEventListener(VideoPlayerCodes.STATE, handlePlayerState);
|
_player.addEventListener(MediaPlayerCodes.STATE, handlePlayerState);
|
||||||
_player.addEventListener(VideoPlayerCodes.SIZE, handlePlayerSize);
|
_player.addEventListener(MediaPlayerCodes.SIZE, handlePlayerSize);
|
||||||
_player.addEventListener(VideoPlayerCodes.DURATION, handlePlayerDuration);
|
_player.addEventListener(MediaPlayerCodes.DURATION, handlePlayerDuration);
|
||||||
_player.addEventListener(VideoPlayerCodes.POSITION, handlePlayerPosition);
|
_player.addEventListener(MediaPlayerCodes.POSITION, handlePlayerPosition);
|
||||||
_player.addEventListener(VideoPlayerCodes.ERROR, handlePlayerError);
|
_player.addEventListener(MediaPlayerCodes.ERROR, handlePlayerError);
|
||||||
|
|
||||||
addChild(_player.getDisplay());
|
addChild(_player.getDisplay());
|
||||||
|
|
||||||
@@ -132,12 +132,12 @@ public class SimpleVideoDisplay extends Sprite
|
|||||||
event.stopImmediatePropagation();
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
switch (_player.getState()) {
|
switch (_player.getState()) {
|
||||||
case VideoPlayerCodes.STATE_READY:
|
case MediaPlayerCodes.STATE_READY:
|
||||||
case VideoPlayerCodes.STATE_PAUSED:
|
case MediaPlayerCodes.STATE_PAUSED:
|
||||||
_player.play();
|
_player.play();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VideoPlayerCodes.STATE_PLAYING:
|
case MediaPlayerCodes.STATE_PLAYING:
|
||||||
_player.pause();
|
_player.pause();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -261,9 +261,9 @@ public class SimpleVideoDisplay extends Sprite
|
|||||||
const g :Graphics = _hud.graphics;
|
const g :Graphics = _hud.graphics;
|
||||||
g.clear();
|
g.clear();
|
||||||
|
|
||||||
if ((state != VideoPlayerCodes.STATE_READY) &&
|
if ((state != MediaPlayerCodes.STATE_READY) &&
|
||||||
(state != VideoPlayerCodes.STATE_PLAYING) &&
|
(state != MediaPlayerCodes.STATE_PLAYING) &&
|
||||||
(state != VideoPlayerCodes.STATE_PAUSED)) {
|
(state != MediaPlayerCodes.STATE_PAUSED)) {
|
||||||
// draw something loading-like
|
// draw something loading-like
|
||||||
// TODO animated swf
|
// TODO animated swf
|
||||||
g.beginFill(0x000033);
|
g.beginFill(0x000033);
|
||||||
@@ -282,7 +282,7 @@ public class SimpleVideoDisplay extends Sprite
|
|||||||
g.lineStyle(2, 0xFFFFFF);
|
g.lineStyle(2, 0xFFFFFF);
|
||||||
g.drawCircle(0, 0, 20);
|
g.drawCircle(0, 0, 20);
|
||||||
|
|
||||||
if (state == VideoPlayerCodes.STATE_PLAYING) {
|
if (state == MediaPlayerCodes.STATE_PLAYING) {
|
||||||
g.lineStyle(2, 0x00FF00);
|
g.lineStyle(2, 0x00FF00);
|
||||||
g.moveTo(-4, -10);
|
g.moveTo(-4, -10);
|
||||||
g.lineTo(-4, 10);
|
g.lineTo(-4, 10);
|
||||||
|
|||||||
@@ -5,111 +5,31 @@ package com.threerings.flash.media {
|
|||||||
|
|
||||||
import flash.display.DisplayObject;
|
import flash.display.DisplayObject;
|
||||||
|
|
||||||
import flash.events.IEventDispatcher;
|
|
||||||
|
|
||||||
import flash.geom.Point;
|
import flash.geom.Point;
|
||||||
|
|
||||||
import com.threerings.util.ValueEvent;
|
import com.threerings.util.ValueEvent;
|
||||||
|
|
||||||
/**
|
|
||||||
* Dispatched when the state of the videoplayer changes, usually in response to commands
|
|
||||||
* such as play/pause, etc.
|
|
||||||
* <b>value</b>: an int state. @see VideoPlayerCodes
|
|
||||||
*
|
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.STATE
|
|
||||||
*/
|
|
||||||
[Event(name="state", type="com.threerings.util.ValueEvent")]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Dispatched when the total duration of the video is known.
|
|
||||||
* <b>value</b>: a Number expressing the duration in seconds.
|
|
||||||
*
|
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.DURATION
|
|
||||||
*/
|
|
||||||
[Event(name="duration", type="com.threerings.util.ValueEvent")]
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Dispatched periodically as the position is updated, during playback.
|
|
||||||
* <b>value</b>: a Number expressing the position in seconds.
|
|
||||||
*
|
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.POSITION
|
|
||||||
*/
|
|
||||||
[Event(name="position", type="com.threerings.util.ValueEvent")]
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disptached when the size of the video is known.
|
* Disptached when the size of the video is known.
|
||||||
* <b>value</b>: a Point expressing the width/height.
|
* <b>value</b>: a Point expressing the width/height.
|
||||||
*
|
*
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.SIZE
|
* @eventType com.threerings.flash.media.MediaPlayerCodes.SIZE
|
||||||
*/
|
*/
|
||||||
[Event(name="size", type="com.threerings.util.ValueEvent")]
|
[Event(name="size", type="com.threerings.util.ValueEvent")]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dispatched when there's a problem.
|
* Implemented by video-playing backends.
|
||||||
* <b>value</b>: a String error code/message.
|
|
||||||
*
|
|
||||||
* @eventType com.threerings.flash.video.VideoPlayerCodes.ERROR
|
|
||||||
*/
|
*/
|
||||||
[Event(name="error", type="com.threerings.util.ValueEvent")]
|
public interface VideoPlayer extends MediaPlayer
|
||||||
|
|
||||||
/**
|
|
||||||
* Implemented by video playing backends.
|
|
||||||
*/
|
|
||||||
public interface VideoPlayer extends IEventDispatcher
|
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Get the actual visualization of the video.
|
* Get the actual visualization of the video.
|
||||||
*/
|
*/
|
||||||
function getDisplay () :DisplayObject;
|
function getDisplay () :DisplayObject;
|
||||||
|
|
||||||
/**
|
|
||||||
* @return a VideoPlayerCodes state constant.
|
|
||||||
*/
|
|
||||||
function getState () :int;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the size of the video, or null if not yet known.
|
* Get the size of the video, or null if not yet known.
|
||||||
*/
|
*/
|
||||||
function getSize () :Point;
|
function getSize () :Point;
|
||||||
|
|
||||||
/**
|
|
||||||
* Play the video, if not already.
|
|
||||||
*/
|
|
||||||
function play () :void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pause the video, if not already.
|
|
||||||
*/
|
|
||||||
function pause () :void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the duration of the video, in seconds, or NaN if not yet known.
|
|
||||||
*/
|
|
||||||
function getDuration () :Number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the position of the video, in seconds, or NaN if not yet ready.
|
|
||||||
*/
|
|
||||||
function getPosition () :Number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Seek to the specified position.
|
|
||||||
*/
|
|
||||||
function seek (position :Number) :void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the volume, between 0-1.
|
|
||||||
*/
|
|
||||||
function setVolume (volume :Number) :void;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the volume, from 0 to 1.
|
|
||||||
*/
|
|
||||||
function getVolume () :Number;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Unload the video.
|
|
||||||
*/
|
|
||||||
function unload () :void;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user