Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Building on Sapptime's answer, I would like to add that you can create different profiles under Publish Settings. </p> <p>So you can make a profile which includes the FLVPlayback component by importing the .swc file and use that profile when you need to work with the FLVPlayer. Adds about 100 KB to the project.</p> <p>This way you don't need a FLVPlayback component in your library or on your stage. Instead, you can import the FLVPlayback class like any other class in your project and make instances of FLVPlayback in your actionscript code.</p> <pre><code>//import: import fl.video.FLVPlayback; //Instantiate: private var player:FLVPlayback = new FLVPlayback(); </code></pre> <p>I have added a Videoplayer.as class (because I can't find a way to attach it) I made for a project and stripped it quick and dirty for some additional content, but it should work :) Feel free to use it as is, modify it or get some inspiration.</p> <p>Put Videoplayer.as in the src folder of your project and make a new instance of it. Use the setters to control it.</p> <pre><code>//Instantiate var MyPLayer:Videoplayer = new Videoplayer(); //Use setters MyPLayer.SetVideopath = path to flv file; MyPLayer.SetVideoAutoplay = true; // or false //... and so on // add to displaylist this.addChild(MyPlayer); // Load video MyPlayer.Load(); // start playing MyPlayer.Play(); </code></pre> <p>and here is the Videoplayer class...</p> <pre><code>package { import fl.video.*; import flash.events.*; import flash.display.Sprite; import flash.display.Shape; public class Videoplayer extends Sprite { // VIDEO private var player:FLVPlayback = new FLVPlayback(); private static var videoPath:String=""; private var w:Number = 1280; private var h:Number = 720; private var vol:Number = 0; private var autoplay:Boolean = false; private var autorewind:Boolean = false; private var Loop:Boolean = false; private var bgcolor:uint = 0x000000; private var HasError:Boolean=false; private var playerid:Number; private var SeekSecToStop:Number=0; private var BufferTime:Number=0; private var videoBG:Shape; // =============================================================================================== // CONSTRUCTOR // =============================================================================================== public function Videoplayer() { super(); trace("Videoplayer"); this.addChild(player); player.addEventListener(VideoEvent.STATE_CHANGE, VidState, false, 0, true); player.addEventListener(VideoEvent.READY, VidReady, false, 0, true); player.addEventListener(VideoEvent.AUTO_REWOUND, VidRewinded, false, 0, true); player.addEventListener(VideoEvent.STOPPED_STATE_ENTERED, VidStopped, false,0,true); } // =============================================================================================== // SET VIDEO PROPS // =============================================================================================== private function setVidProps():void { player.name = "player"; player.skinBackgroundColor = getVideoBGcolor; player.skinBackgroundAlpha = 0; player.registrationX = 0; player.registrationY = 0; player.setSize(getVideoWidth,getVideoHeight); player.scaleMode = "maintainAspectRatio"; // exactFit, noScale, maintainAspectRatio //player.fullScreenTakeOver = false; player.isLive = false; player.bufferTime = BufferTime; player.autoRewind = getVideoAutorewind; player.volume = vol; } // =============================================================================================== // LOAD // =============================================================================================== public function Load():void { trace("Load"); setVidProps(); player.source = getVideopath; } // =============================================================================================== // PLAY // =============================================================================================== public function Play():void { player.playWhenEnoughDownloaded(); UnMute(); } public function Pause():void { player.pause(); } public function Stop():void { //player.seek(SeekSecToStop); player.stop(); //player.pause(); } public function SeekAndStop():void { player.seek(SeekSecToStop); player.pause(); } public function SeekAndPlay(n:Number=0):void { player.seek(n); Play(); } public function Fullscreen():void { //player.fullScreenTakeOver = true; //player } public function Mute():void { player.volume = 0; } public function UnMute():void { player.volume = 1; } public function Volume(n:Number):void { player.volume=n; } // =============================================================================================== // VidReady // =============================================================================================== private function VidReady(e:Event):void { trace("VidReady"); //player.removeEventListener(VideoEvent.READY, VidReady); player.fullScreenTakeOver = false; if (autoplay) { player.autoPlay = autoplay; Play(); } else { player.play(); SeekAndStop(); } dispatchEvent(new VideoEvent(VideoEvent.READY)); } // =============================================================================================== // VidStopped // =============================================================================================== private function VidStopped(e:Event):void { trace("VidStopped"); //dispatchEvent(new VideoEvent(VideoEvent.STOPPED)); if(Loop) { //SeekAndPlay(); Play(); } else { dispatchEvent(new VideoEvent(VideoEvent.STOPPED_STATE_ENTERED)); } } // =============================================================================================== // VidRewinded // =============================================================================================== private function VidRewinded(e:Event):void { trace("VidRewinded"); } // =============================================================================================== // VidState // =============================================================================================== private function VidState(e:Event):void { var flvPlayer:FLVPlayback = e.currentTarget as FLVPlayback; //Log("VideoState 1 : "+flvPlayer.state); if (flvPlayer.state==VideoState.CONNECTION_ERROR) { trace("FLVPlayer Connection Error! -&gt; path : "+flvPlayer.source); //dispatchEvent(new VideoEvent(VideoEvent.CONNECTION_ERROR)); HasError=true; //CleanUp(); } else if (flvPlayer.state==VideoState.BUFFERING) { trace("BUFFERING"); } else if (flvPlayer.state==VideoState.DISCONNECTED) { trace("DISCONNECTED"); } else if (flvPlayer.state==VideoState.LOADING) { trace("LOADING"); } else if (flvPlayer.state==VideoState.PAUSED) { trace("PAUSED"); } else if (flvPlayer.state==VideoState.RESIZING) { trace("RESIZING"); } else if (flvPlayer.state==VideoState.REWINDING) { trace("REWINDING"); } else if (flvPlayer.state==VideoState.SEEKING) { trace("SEEKING"); } else if (flvPlayer.state==VideoState.PLAYING) { trace("PLAYING"); } else if (flvPlayer.state==VideoState.STOPPED) { trace("STOPPED"); //flvPlayer.pause(); } else if (flvPlayer.state==VideoState.RESIZING) { trace("RESIZING"); } } // =============================================================================================== // SETTERS &amp; GETTERS // =============================================================================================== public function set SetPlayerId(n:Number):void { playerid=n; } public function get getPlayerId():Number { return playerid; } public function set SetSeekSecToStop(n:Number):void { SeekSecToStop=n; } public function get getSeekSecToStop():Number { return SeekSecToStop; } public function set SetVideoLoop(b:Boolean):void { Loop = b; } public function get getVideoLoop():Boolean { return Loop; } public function set SetVideoAutorewind(b:Boolean):void { autorewind = b; } public function get getVideoAutorewind():Boolean { return autorewind; } public function set SetVideoAutoplay(b:Boolean):void { autoplay = b; } public function get getVideoAutoplay():Boolean { return autoplay; } public function set SetVideopath(s:String):void { videoPath = s; } public function get getVideopath():String { return videoPath; } public function set SetVideoWidth(n:Number):void { w = n; } public function get getVideoWidth():Number { return w; } public function set SetVideoHeight(n:Number):void { h = n; } public function get getVideoHeight():Number { return h; } public function set SetVideoBGcolor(n:uint):void { bgcolor = n; } public function get getVideoBGcolor():uint { return bgcolor; } public function get getPlayerState():String { return player.state; } public function get GetHasError():Boolean { return HasError; } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload