開発環境 |
Apache Flex SDK 4.12.1 |
|
FlashDevelop 4.6.2.5 |
実行環境 |
Microsoft Windows 8.1 (64bit) |
プロジェクトの種類 |
ActionScript 3/AS3 Project |
プロジェクト名 |
VideoTest |
Main.as
package
{
import flash.display.*;
import flash.events.*;
import flash.media.*;
import flash.net.*;
import flash.text.*;
public class Main extends Sprite
{
// 動画ファイルは各自用意する。flv,mp4の再生を確認。
private const videoURL:String = "sample.mp4"; // カレントはswfと同じディレクトリ
private var connection:NetConnection;
private var stream:NetStream;
private var textField:TextField = new TextField;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
textField.defaultTextFormat = new TextFormat(null, 20, 0xffffff);
textField.text = "hello";
addChild(textField);
connection = new NetConnection;
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
connection.connect(null);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void
{
textField.text = stream.currentFPS.toFixed(1) + " fps";
}
private function netStatusHandler(e:NetStatusEvent):void
{
switch (e.info.code)
{
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Unable to locate video: " + videoURL);
break;
}
}
private function connectStream():void
{
stream = new NetStream(connection);
stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
var video:Video = new Video(640, 360);
video.attachNetStream(stream);
stream.play(videoURL);
addChildAt(video, 0); // back
}
private function securityErrorHandler(e:SecurityErrorEvent):void
{
trace("securityErrorHandler: " + e);
}
private function asyncErrorHandler(e:AsyncErrorEvent):void
{
// ignore AsyncErrorEvent events.
}
}
}
最終更新:2014年07月01日 11:16