FLVPlayback component skinAutoHide problem
Hi guys!
I have a problem with FLVPlayback component's skinAutohide
property which works poorly when FLVPlayback component is the same
size as your stage. The skin only hides when I move my mouse very
slowly outside the FLVPlayback component.
Also making the FLVPlayback component smaller isn't an option
so what more options are there left?
Is there anyway to hide the skin by yourself?
I allready tried the following code, but I think this is very
unreliable (I get some errors when I move my mouse very quickly
over and outside the FLVPlayback component):
video.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler);
video.addEventListener(MouseEvent.MOUSE_MOVE,
mouseMoveHandler);
function mouseLeaveHandler(event:Event):void {
video.skin = "";
function mouseMoveHandler(event:Event):void {
video.skin = "SkinOverPlayStopSeekFullVol.swf";
I am having the exact same problem. Thanks for info that this
is caused by movie being the same size as the stage. I am also
working on a solution and will let you know if I find one.
Similar Messages
-
my flash movie contains FLVPlayback component to play videos.
In the begining of the movie( frame 1) I have a simple pre-loader.
When I test my swf on a browser the pre-loader appear only after
few second, not immediately. (my pre-loader start from 40%). I
think the reason is that flash load the FLVPlayback component on
the first frame although my component appears only on the second
frame . Is there any work around this issue?
ThanksI am having the exact same problem. Thanks for info that this
is caused by movie being the same size as the stage. I am also
working on a solution and will let you know if I find one. -
Hi.
I am using NetConnection and NetStream to play back flv in Flash Pro CS5.5, and trying to add cue point to trigger events using Action Script, and to automatically rewind to the start at the end. There is no problem to trigger events via AS when the cue points are embedded, but i am unable to add cue points using AS.
When i use an FLVPlayback component, there is no problem to add cue points (http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d1 18a9c65586-7feb.html) and to loop the playback using autoRewind (and fl.video.VideoEvent.AUTO_REWOUND which i got from Nafem at http://forums.adobe.com/thread/857036).
However, i am failing to use this same code w/a netConnection and netStream, and would appreciate any help.
thanks.Hello,
Well, I've got some help from another helpful fellow at macscripter.net and I have a working script - albeit a bit more specific (ie, hardcoded extensions to look for) and a different approach.
Here's the script:
on adding folder items to thisFolder after receiving addedItems
repeat with movieFile in addedItems
set {Nm, Ex} to getName_andExtension(movieFile)
set movieFilePath to (thisFolder as text) & Nm & ".avi"
set subtitleFile to (thisFolder as text) & Nm & ".srt"
if Ex is ".srt" then
try
tell application "iFlicks"
import (movieFilePath as alias) with gui
end tell
end try
else if Ex is ".avi" then
if my FinderItemExists(subtitleFile) then
try
tell application "iFlicks"
import (movieFilePath as alias) with gui
end tell
end try
end if
end if
end repeat
end adding folder items to
on getName_andExtension(F)
set F to F as Unicode text
set {name:Nm, name extension:Ex} to info for file F without size
if Ex is missing value then set Ex to ""
if Ex is not "" then
set Nm to text 1 thru ((count Nm) - (count Ex) - 1) of Nm
set Ex to "." & Ex
end if
return {Nm, Ex}
end getName_andExtension
on FinderItemExists(thePath)
try
set thePath to thePath as alias
on error
return false
end try
return true
end FinderItemExists -
FLVPlayback Component for AIR & IOS
Hello,
I have referenced this and other forums several times in regards to this question, but would like to canvas it myself here once more in hopes of any new or additional insights that were absent before.
I am developing an AIR application that uses a long (45min) video as a centerpiece. It necessarily (I think) needs to be applied with the FLVPlayback component because it is both masked by menu and playback controls, and has a large variety of interactive content layered on top of the full-screen (more or less) video. As of now, the video is encoded in FLV, and works fairly well, but I do have some lingering performance issues, which I am asking help with here today.
I have read that using FLV in iOS apps is not advised, but for the reasons listed above I most likely will have to do so. I don't think I can use the other options (stagevideo, or otherwise) due to the layering of content above the video, and an irregular mask. I have placed the video in the main directory of the app package (which made all the difference), used GPU, and tweaked the encoding ad nauseam. While all-in-all it has resulted in "okay" performance, I still have a slight but noticeable skip/hiccup/jump in the video during the more graphically intense portions of the production. This only occurs on the iPhone 4/s devices, while the iPhone 5 experience is flawless.
So I am asking for ANY help/suggestions anyone could offer towards a possible solution/improvement to this problem. I would be grateful for any other setting, encoding, file structure, or alternate suggestions that I have not thought of or addressed.
Thank you.Hi Freelance77,
The product team would like to know the steps to reproduce this issue. After that, we can try solving it for you. Do let us know.
Thanks,
Preran -
Adding time to the FLVplayback component
Hi everyone, Im using the FLVplayback component for a project im doing. I want to add the time elapsed and time left on the controls. I dont really want to create my own controls, as im happy with the flv playback component. The FLVs playing in the component are external and are loaded into it via as3
Is there a quick and easy way of doing this?
Cheers
DanI have managed to find some code for this component, but im getting some errors which im having trouble to de-bug;
1118: Implicit coercion of a value with static type Object to a possibly unrelated type Function. vidPlayer.addEventListener("metadataReceived", listenerObject);
1118: Implicit coercion of a value with static type Object to a possibly unrelated type Function. vidPlayer.addEventListener("playheadUpdate", listenerObject);
Please would someone take a look and let me know what im doing wrong?
Thanks
code:
var listenerObject:Object = new Object();
var fullDuration = null;
listenerObject.metadataReceived = function(eventObject:Object):void {
fullDuration = prettyTime(vidPlayer.metadata.duration);
listenerObject.playheadUpdate = function(eventObject:Object):void {
var paTime = vidPlayer.playheadTime;
if(fullDuration != null){
//updates the text box with the instance name timeCode_txt on the root timeline.
//best to use a monospace typeface like calibri for the textbox font.
time_txt.text = prettyTime(vidPlayer.playheadTime) + " / " + fullDuration;
vidPlayer.addEventListener("metadataReceived", listenerObject);
vidPlayer.addEventListener("playheadUpdate", listenerObject);
function prettyTime(timeinSeconds):String{
var seconds:Number = Math.floor(timeinSeconds);
var minutes:Number = Math.floor(seconds / 60);
var hours:Number = Math.floor(minutes / 60);
//Storing the remainder of this division problem
seconds %= 60;
minutes %= 60;
hours %= 24;
//Converting numerical values into strings so that
//we string all of these numbers together for the display
var sec:String = seconds.toString();
var min:String = minutes.toString();
var hrs:String = hours.toString();
//Setting up a few restrictions for when the current time reaches a single digit
if (sec.length < 2) {
sec = "0" + sec;
if (min.length < 2) {
min = "0" + min;
if (hrs.length < 2) {
hrs = "0" + hrs;
//Stringing all of the numbers together for the display
var time:String = hrs + ":" + min + ":" + sec;
//Setting the string to the display
return time; -
FLVPlayback Component + HTML5
For a HTML5 Canvas project I'm in need to use imported FLV videos (green screen w/ alpha channel), with the goal to publish it highly compatible on the web. As the FLVPlayback Component is not supported in HTML5 projects, is there some possible workaround to achieve what I want with Adobe's software? If not, could I get briefed how this could be done with other programs/techniques?
While there have been 'workarounds' in the past, the answer is ultimately that codecs that support this are limited and unreliable. You'll need to use a <canvas> trick to really pull this off which involves separating your alpha channel into its own video, then using an invisible canvas to process the video based on the alpha channels (reading pixel by pixel to determine what opacity percentage to draw of every single pixel). Some people use a specific color in the video as the channel (for instance if you just needed red text, then use a different background color as the alpha). You then draw that to a visible canvas after calculated. It's very unideal but there's no "best way" to do this currently, outside Flash.
A quick search will show you the techniques I'm talking about but none of them are drag and drop approaches to the problem. They require JavaScript, proper types of video and a bunch of processing. -
FLVPlayback / Custom NCManager Problems
I have been trying for days to write my own custom NCManager
class that allows us to connect to a Limelight stream. We have to
issue a NetCOnnect.call() that has the command "FCSubscribe" and
the stream name. I've written a 100% custom player
(www.god.tv/stream) (have to register!) but what I want to to
resolve that player with the video-on-demand player
(www.god.tv/god) into a single Flash project.
I want to allow our Graphics guys (aka Flash developers) to
be able to use the standard Adobe FLVPlayback components and skins
and also be able to p lay back files, streaming content and
Limelight content. To this end I thought that writing a custom
NCManager class would be the way to go.
I have 99.9% succeeded: my class gets the connectToURL(),
connects to Limelight, subscribes and all is well but I am really
really stuck now on how to tell the FLVPlayback component that it
can start playing back now that the stream is connected.
What really is stumping me is that my project is AS3 yet the
FLVPlayback and VideoPlayer parts appear to be AS2 and I cannot
call the rtmpStatusInfo() function on the VideoPlayer part to tell
it that it is good to go.
I am so close I can taste it: If I create a NetStream object
and play() it, I can hear the content to I know that if I could
only get the FLVPlayback / VideoPlayer dynamic duo to playback then
the job would be done.
I have attached the code, warts and all in the hope that
either somebody has done this before or can tell me what I have
misunderstood about the internal state-machine / FSM logistics that
VideoPlayer et al implement.
By reading the source code and my debugging statements I can
see that I have maneuvered it towards the ultimate goal of playback
but I don't know how to make that final step.
Thanks in advance,
Sean Charles.
PS: I *know* that reconnect() is non-functional but if I
uncomment the call all it does is go around the loop again; the
real problem is I cannot tell the VideoPlayer that it can play (via
rtmpStatusInfo) the data etc
PPS: The meta-data related stuff *only* gets called if I
uncomment the NetStream code; this was to check that I had a valid
playback stream, which I do at that point.I was able to successfully make this work for our company's Adobe Flash video player using Flex Builder 3 running the Flex 3.3 SDK with the latest version of FLVPlayback 2.5.
Here is the custom NCManager class I created:
package com.companyname {
use namespace flvplayback_internal;
import fl.video.*;
import flash.net.NetConnection;
public class NCManagerLimelight extends NCManager {
public function NCManagerLimelight() {
super();
override flvplayback_internal function onConnected(p_nc:NetConnection, p_bw:Number):void {
super.onConnected(p_nc, p_bw);
this.netConnection.client = com.companyname.ConnectClientLimelight;
this.netConnection.call("FCSubscribe", null, this.streamName);
As you can see, it references a custom ConnectClient class I extended, which follows:
package com.companyname {
use namespace flvplayback_internal;
import fl.video.*;
import flash.net.NetConnection;
public class ConnectClientLimelight extends ConnectClient {
public function ConnectClientLimelight(owner:NCManager, nc:NetConnection, connIndex:uint=0) {
super(owner, nc);
public function onFCSubscribe(info:Object):void {
// do nothing
public function onFCUnsubscribe(info:Object):void {
// do nothing
The above class really does nothing except prevent the debug errors it would throw if onFCSubscribe was not defined. Finally, you put it all together by placing those two files (named NCManagerLimelight.as and ConnectClientLimelight.as respectively) in a folder structure that matches your package namespace off of the src folder for your Flex project. In the above code, I used com.companyname, so you would want to place the two files in a folder located at src/com/companyname in your Flex project.
Be sure to import the NCManagerLimelight class in your own source code by doing the following:
import com.companyname.NCManagerLimelight;
Then, right before you instantiate your FLVPlayback (where isLive is set to true for a live show) do the following to make your new NCManager class the default class for all video players:
VideoPlayer.iNCManagerClass = NCManagerLimelight;
Lastly, after you instantiate your FLVPlayback instance, you need to make sure it's isLive and autoPlay properties are both true. For example:
flvPlaybackInstance.autoPlay = true;
flvPlaybackInstance.isLive = true;
I hope this helps!
Regards,
Sean Smith -
Controlling the FLVplayback component Volume
Hi there,
I have a FLVPlayback component which I have modified to the
core.There is one problem with the volume slider. Im using Flash
Professional 8 with XP, and the skin Im using is
"steelExternalAll". Suppose I load some file into the contentPath,
it plays, and I drag the volume slider up (100%) and down(0%) for a
couple of time I get a bug. The bug is that when Im finally in the
down state, with 0% I still hear the sound which was in the
previous status, say 38 or 50%. And it happens in the reverse too.
Why is this happening? Can i resolve it?
I tried doing this using a fresh FLASH file, still the result
is the same. It happens once in a 10 times, but this surely is a
defect i need to handle. I dont think I have enough API's to do
something serious. Can anyone help me out?Hi kglad,
Greetings. Felt so glad when I saw your reply saying that the
problem was with the skinning, because I did one hell of a
skinning. But I had a crosscheck. I tool a sample
"steelExternalAll" skin, just like it is in the component panel,
and just added a contentPath. Simple. I checked for the volume
slider problem, and there it was.
I can find the problem in the normal unmodified skin. This is
the same problem I face. Can this be solved. There is no other code
piece Im using other than the one given below.
Thanks a lot for your kind patience. -
How to recognize FLVPlayback Component
Publish to Flash 8 and using the FLVPlayback component as part of a larger elearning course.
We have a legacy pause button that works by recursively looking through every item on stage and if the item is a movieclip following its children and so on. Something like this (there is more to the whole thing, but this is where the problem is):
findCurrent = function (obj)
// RECURSIVE SEARCH FOR MOVIECLIPS
for (var i in obj) {
if (typeof (obj[i]) == "movieclip" && obj[i] != obj) {
if (obj[i]._name == "pauser"{
continue;
var m = obj[i];
m.frameWas = m._currentFrame;
isCurrent.push(m);
findCurrent(m);
The issue is that when using the FLVPlayback component the 256 recursions limit is reached. I'm guessing that the video part contains a reference to playback controls skin and the playback controls skin contains a reference to the video part and the recursion just goes round and round till it hits the limit and then all actionscript is disabled for the rest of the file.
I thought of adding a counter, and that is probabaly a good idea, but I was wondering if there is anyway to identify that I've hit a video player and stop following it?
Obviously the topeof(myVideoPlayer) is coming back as "movieclip" or I wouldn't be getting this problem. I don't think there is a getQualifiedName for AS2, right? I looked at the properties and couldn't find one that said, "clearlyVideoPlayer."
So does anybody else have any suggestions?if you don't have other components/movieclips (that use boundingBox_mc):
findCurrent = function (obj) {
// RECURSIVE SEARCH FOR MOVIECLIPS
for (var i in obj) {
if (typeof (obj[i]) == "movieclip" && obj[i]._parent==obj) {
if(i=="boundingBox_mc"){
findPauseF(obj);
abortSearch=true;
if(!abortSearch){
findCurrent(obj[i]);
function findPauseF(flv:MovieClip){
// do whatever with flv -
Hi.
i have an fla file with 5 keyframes. Each keyframe navigates forward to the following keyframe. On the fifth keyframe, a Loader loads an external swf. The external swf has an flv playback component with sound.
The fifth keyframe, other than having a button to click to load the swf, has a movie clip that navigates you back to the first keyframe.
The loaded swf, once loaded, may be removed using removeThis function which has removeChild code as well as a _flv.stop(); which makes the flv stop when the swf is removed. So u're back on keyframe 5, no sound - good!.
ASo, all is well and the user can navigate back to the first keyframe (from keyframe 5), and from there continue on to the 2nd, 3rd, 4th and 5th keyframes again, problems start though, when you get to that 5th keyframe again: that keyframe has an FLVPlayback component playing an flv, which at that point becomes very sluggish as all the mc animations on that 5th frame. And worse, i realize, the flv in the external swf that was previously loaded, starts playing by itself, which i know, because i hear its sound track.
I tried putting a conditional statement to tell the _flv to stop on keyframes 1 and 5, but that causes errors, considering that the flv is an undefined property from the perspective of those keyframes.
Any help would be very appreciated:)
thanks.var loader:Loader = new Loader();
loader.load(new URLRequest("_.swf"));
house.addEventListener(MouseEvent.CLICK, loadswf1);
function loadswf1(event:MouseEvent):void
addChild(loader);
this is how i'm loading the swf. I tried using Loader.unloadAndStop() inside that loadswf function but get an error -
Scene 1, Layer 'a', Frame 75, Line 83
1061: Call to a possibly undefined method unloadAndStop through a reference with static type Class. -
New FLVPlayBack component and RTMP protocol
hi all
I'm using "FlvPlayBack" component that ships with Flash 8 to
play a bunch of FLV's from an XML file. According to the
documentation (given that my component on the stage is called X), I
can do:
X.contentPath = "rtmp://server/foo/bar.flv";
and i should be set. The problem is that the above doesn't
work
now the same program works if i feed it an XML with paths to
local FLV files (instead of over RTMP protocol) -- also I can
stream the files using Netconnection/Netstream combo
it's only when i do
X.contentPath = "rtmp://server/foo/bar.flv";
that i get into probelmDid you configure the FMS properly? Did you put the main.asc
file in the application folder (check out this link:
http://livedocs.macromedia.com/flash/8/main/00003495.html).
Try to debug the issue. Start with FMS administration console
and check if you get any incomming connection.
If no, make sure your can access the "server" domain.
If yes, check you have placed the files in the application
folder as needed.
Check the logs from the FMS.
If still not working post some more details. My bet goes with
the main.asc which handle the connection with flvplayback
component.
//Bomolete -
A better way to determine the current state of the FLVPlayback component?
Below is the AS3 code I have used to display images (MCs) over an instance of the FLVPlayback component. These images (one for loading, one for the title) are to appear – or disappear – according to the current state of the FLVPlayback component.
It “works,” but when testing, I have noticed that it can be rather finicky. The most common issue that arises is that many times the loadPoster movieclip will still be visible even though the video has entered the playing state.
Also, I wanted a title placeholder image to appear whenever the user stops the video or if the video completes. However, I had to add the conditional statement to the “stoppedStateEntered” case to make everything appear when expected. When the video is first viewed (and has completed buffering), it seems that the FLVPlayback component enters the stopped state before entering the playing state. Thus, the titlePoster would flash on the screen right before it and the loadPoster “should” disappear when the video begins playing.
Even in my limited testing, these issues were very easily re-created. I am definitely looking for a more reliable solution. Is there a better (or more correct) way to go about all this? If possible, I would like to stick with the FLVPlayback component, just for the simple fact of not having to code my own.
Where am I going wrong?
function updateMoviePoster(event:VideoEvent):void
switch (event.type)
case "playingStateEntered":
loadPoster.visible = false;
titlePoster.visible = false;
break;
case "stoppedStateEntered":
if (loadPoster.visible == false)
titlePoster.visible = true;
break;
case "complete":
titlePoster.visible = true;
break;
myFLVPlayback.addEventListener(VideoEvent.PLAYING_STATE_ENTERED, updateMoviePoster);
myFLVPlayback.addEventListener(VideoEvent.STOPPED_STATE_ENTERED, updateMoviePoster);
myFLVPlayback.addEventListener(VideoEvent.COMPLETE, updateMoviePoster);Any suggestions? I would truly appreciate the help.
-
Need to stop playback of an FLVPlayback component when navigate away from page!
I have an movieclip playing as auto start on the first page of my website. The component continues to play when I navigate away from the page. How can I stop the playback of the movie if it has not completed when navigation away from the page is invoked. I have search and am unable to find such an event using an FLVPlayback component. Presently there is no code in actionscript to display here.
thanksHi, this is the entire code that is placed on the timeline in frame 1 of the AS line. There is now an error and the FLVPlayer component, which is also begin in frame 1. At this point there is one method that I thought should work when the vTinesDayBtn is clicked. However, is not.
The error is:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at ewddSite_fla::MainTimeline/vTines()
ArgumentError: Error #1063: Argument count mismatch on ewddSite_fla::MainTimeline/stoppedVid(). Expected 0, got 1.
The code is:
stop();
import flash.events.*;
import flash.display.*;
import fl.video.*;
import fl.video.FLVPlayback;
function stoppedVid() {
vidPlay.stop();
vTinesDayBtn.addEventListener(MouseEvent.CLICK, stoppedVid)
function vTines(evt:MouseEvent):void {
gotoAndStop(20);
vidPlay.stop();
function engagements(evt:MouseEvent):void {
gotoAndStop(25);
function weddings(evt:MouseEvent):void {
gotoAndStop(30);
function births(evt:MouseEvent):void {
gotoAndStop(35);
function birthdays(evt:MouseEvent):void {
gotoAndStop(40);
function graduations(evt:MouseEvent):void {
gotoAndStop(45);
function anniversaries(evt:MouseEvent):void {
gotoAndStop(50);
function specEvents(evt:MouseEvent):void {
gotoAndStop(55);
function memorials(evt:MouseEvent):void {
gotoAndStop(60);
//main.addEventListener(MouseEvent.MOUSE_DOWN, mainPg);
vTinesDayBtn.addEventListener(MouseEvent.MOUSE_DOWN, vTines);
engageBtn.addEventListener(MouseEvent.MOUSE_DOWN, engagements);
weddingsBtn.addEventListener(MouseEvent.MOUSE_DOWN, weddings);
birthsBtn.addEventListener(MouseEvent.MOUSE_DOWN, births);
bDaysBtn.addEventListener(MouseEvent.MOUSE_DOWN, birthdays);
graduBtn.addEventListener(MouseEvent.MOUSE_DOWN, graduations);
annivBtn.addEventListener(MouseEvent.MOUSE_DOWN, anniversaries);
spEventsBtn.addEventListener(MouseEvent.MOUSE_DOWN, specEvents);
memorialsBtn.addEventListener(MouseEvent.MOUSE_DOWN, memorials); -
Hi all,
I'm now working on a flash website, i need to play a youtube video inside my flash movie.
In this Flash file i have a FLVPlayback component and i tried to link the youtube video into this but did'nt work.
Please help me...You should find what you need here: http://code.google.com/apis/youtube/flash_api_reference.html
-
Need Preloader for FLVplayback Component
Hi,
I'm playing external .flv videos using the 'FLVplayback'
component. My client's complaining that they stall and stutter a
bit when they start to stream, and wants to know if I can create a
preloader for them.
Can anyone help or point me in the right direction to create
preloaders for this component? Since the .flv is not on the
timeline, I don't know where to begin. I found some info on this in
the Flash Help files, but it's a little over my head.
Thanks very muchHey metrov,
ActionScripting is the way to go for this situation. Try this
link (hope it helps)...
http://www.actionscript.org/forums/showthread.php3?t=105158
Jaythan
Maybe you are looking for
-
The sound on my computer freezes/sk​ips
The sound on my computer freezes/skips when I watch/listen to anything. I have an HP Pavilion g7 Notebook with 4g and AMD Athlon II P360 Dual-Core Processor. The bios is F.04 - from 3/29/11. Any help would be greatly appreciate. HP Techs were not k
-
WSDL version used for port creation in SOAMANAGER for Netweaver 7.01 SP-5.
Hi, Does SOAMANAGER refer to a particular version of WSDL while creating the logical ports for consumer proxies. I'm asking this because after one of the upgrades in our ECC system we find that the authentication configurations of the port are automa
-
Dear, I can't burn DVD +R with my macbook pro. Bought verbatim, sony, fujifilm dvd's nothing works. An error shows up in toast something like this: Sense Key = Medium Error sense Code = 0x73, 0x03 Kind regards,
-
Hello, Can anyone recommend the best book for a complete novice to Illustrator? Ive a background in GIS and am wanting to learn to improve my cartographic skills. Does anyone know if theres a book out there that caters towards cartography in illustra
-
I am in the process of buying a notebook, and I want one that can run windows, so I can play video games hassle free. I am considering to buy an Apple Notebook and downloading windows xp on it. Will there be any problems with windows on a notebook wh