ActionScript 2.0 :: Ns.onMetaData Within Class Function?
Apr 3, 2008I am trying this function in a class, but i can only trace duration A and not duration B
Code:
public function playVideo():Void {
if(!isStarted) {
[code].....
I am trying this function in a class, but i can only trace duration A and not duration B
Code:
public function playVideo():Void {
if(!isStarted) {
[code].....
I rarely use NetStream or any video in my projects, but someone I email with was wondering this, and I have no earthly idea.
Is there any reason why the NetStream's "onMetaData" event cannot be listened to using addEventListener, but instead requires you to use a callback function?
Is it faster, avoiding the overhead of events? Is it to prevent more than one listener being attached?
I am trying to dynamically resize an flv playing back in a flash player. To do this, I need to get the flv's width/height so I can maintain the original aspect ratio. I have noticed that in Firefox the onMetaData event will be hit right away, and the video will resize properly. In IE however, onMetaData is not hit until the buffer is full and video starts playing.
One solution I have thought of is to set the initial buffer to something close to 0 (e.g. 0.01). Then the buffer will instantly hit full, and the video will be resized. The issue I have with this is low bandwidth users will have a a short 'sputter' of video (0.5 seconds say) at the beginning before it goes to the next, larger, buffer. Is there any better way to deal with this behavior in IE? Can you manually "get" the metaData from an FLV file before it even plays?
I'm puling in a FLV via a NetConnection (NetStream), and I've got it all working well EXCEPT for the scrubber. Here's the code I'm using for the scrubber[code]...
View 5 RepliesI'm puling in a FLV via a NetConnection (NetStream), and I've got it all working well EXCEPT for the scrubber. Here's the code I'm using for the scrubber:
****
//Scrubber
var videoInterval = setInterval(videoStatus,100);
var amountLoaded:Number;[code]....
I've been following a couple of tutorials on making a custom video player and they all use the onMetaData event of the NetStream class to get the duration of the video. I always get this error though ns.onMetaData = function(obj:Object){1119: Access of possibly undefined property onMetaData through a reference with static type flash.net:NetStream.Here's what I have, sorry about the commented stuff I've been trying different things:
Code:
import flash.media.Video;
import flash.net.NetStream;
[code]....
Im just a few week into AS and scripting in general so Im not sure why what I've got is working.
I want to create a scaling video that is full screen - from scratch.
I later want to dynamically load a graphic and tile it over the video - I've done that here
I was at the point that the video I was loading would only resize to the stage when the stage Event.RESIZE fired. I need the video scaled when it loads - so my approach was to try and do something with the onMetaData height and width values. I was going to create a function which returned the proportionally scaled native values back to Video(). However I'm not savvy enough to know how to get those values back into the playVideo function.
Along the way I stumbled on something that seems to work - but I dont really undersand why! - or if its 'best practice'.
Code:
import flash.net.URLRequest;
import flash.events.Event;
//variables
[Code].....
Im trying to take on board around methods, objects, callback functions and how to create variables that are more then a known values.
I honestly need a video of some guy with a chalk board drawing arrows to demonstrate how all these things connect
I have a class set up that should just spit back the duration of a loaded video file. It works, but my onMetaData handler seems to get triggered twice, even though I can only see one place that should trigger it:
Code:
public function PENetConnection (obj:Object=null)
{
[code]....
how do use a function from a doc class.... to call a function to work on in
[Code]...
Currently we have updated to FMS4.5 and doing some evaluation on HDS. We published our RTMP streams to the livepkgr application and successfully setup and playback HDS. However, we found that a we can't access some onMetaData Properties during playback. Our player use onMetaData - "videodatarate" and "audiodatarate" properties. We are trying to migrate it to playback HDS, however, we don't seems to be able to get back the two fields?
View 7 RepliesI am using NetStream to play some .flv files on local disc. My code skeleton is:
public class AdvertisPanel extends MovieClip
{
private var _video:Video;
private var _connection:NetConnection;
[Code].....
I used some .flv files that I download from YouTube to test; and I found that the handler metaDataListener would not be called when playing some .flv files, but some would. Is the problem caused by the video file? Because I may resize the video before play it on the screen, and I really need to know its original width & height.
i'm using FLVPlayback in order to load a movie. i keep getting this error: Error #2044: Unhandled AsyncErrorEvent:. text=Error #2095: flash.net.NetStream was unable to invoke callback onMetaData. error=ReferenceError: Error #1069: Property duration not found on Number and there is no default value.
if i get it right, it means that inside built-in onMetaData there is no duration property. so, i tried adding my own call back function:
//creating a custom client
var customClient:Object = new Object();
customClient.onCuePoint = cuePointHandler;
[Code]....
Let's say I have a Custom Event Class, and it has several Event types stored in static Constant:
[Code]...
Is there an easy way to validate that the type passed to the Constructor is one of the Static Constants of the Class, without having to check it against each value?
If I have three classes:
public class Example {
public function Example () {
}[code]............
You can see that the two last classes extend the first one, and both have the 'variable' property. In case that I have an instance of Example and I am sure it is also an ExtendedExample OR AnotherExtendedExample instance, is there some way to access the 'variable' property? Something like
function functionThatReceivesAnExtendedExample (ex:Example):void {
if(some condition that I may need) {
ex.func()
package{
public class Character{
protected var _hp:uint = 50; //Character Health Points
protected var _power:uint = 5; //Damage dealt
[Code].....
I`m instancing a Character and a Player in the Main Timeline, all in frame 1.
When I use: ""player.attack(character)"" it works fine by itself.
So I added the if (defender._hp <= 0) this.win() which gives me the following error:
1061: Call to a possibly undefined method win through a reference with static type Character.
"defender" is a Character instance, "this" is a Player instance and "win()" is a Player method. I try to call the Player method inside a Character method using the Player instance adding the "." and his method name
Do I really need to define the win() function in the Character class? Is there a bypass to use a subclass method in a parent class method if it`s called from an instance of the subclass?
I was wondering why my current code for calling a setInterval on a function doesn't work inside my class.I have this code inside one function, calling a second function.
intID = setInterval(selfReferential, dupe, 30, 0x000000);
The selfReferential keyword refers to the current class,but was defined previously (selfReferential = this; ).I get no errors, but the dupe() function is never called.and I had the selfReferential variable replaced with the this keyword at one point as well.
I'm not sure that I'm on the right track here. I've got what is essentially a 'gateway' movieclip and depending on the CLICK a corresponding movieclip (form) is loaded -- these all being in their own AS file. There are multiple corresponding pages that will all load/close in their own fashion but the 'gateway' will reload in it's own function-- consequently, I have this function on the main_AS. Can I trigger this function from the sub class or do I need to move the 'reload' function to a 'reload' class.
View 2 RepliesI've been searching around trying to work this out for a while now. There's been various ideas popping up, like dispatchEvent etc but nothing that seems to be a clear, simple way of doing this.What I'm trying to do is call a function from a class seperate (but in the same folder as) my document class.Specifically, I want to 'spawn' an object and run a function within that object's class from my Main.as.The snippet I have at the moment is as follows;
In Main.as:
var object:class_Object = new class_Object();
object.spawn();
[code].....
How can I run function of the main document class from a class of a MovieClip? I usually just used MovieClip(parent).function(), but now my MovieClip has another parent. Or what do I have to pass to the MovieClip class when creating the MovieClip to acess the main document class?
View 9 Replieshow to include in a class the implementation of the onLoad function of the XML class. I have something like:
[Code]...
I keep getting an "undefined property" error when I try to call an external function from within the Doc class. I added the error message to the Doc Class below so you can see where it occurs.
If I take the code from the Tooltip.as below and place it on the FLA's main timeline I can get things working fine, but I would like to move all script to classes. The document class structure looks like this:
Drag_and_Drop.as
Code:
package {
import Tooltip;// Import custom class
public class Drag_and_Drop extends MovieClip {
[Code]....
I realize that I could just combine all the code in the Doc class to get it working, but it would be nice to separate out this particular code which has only one use.
Lets say I have a Main Document Class called Main. I also have a child class called childClass that call a function from the Main class and is also imported in the Main class. How should I call the function? I tried this , but when calling the function, it's getting me error.
Main class :
Code:
package {
import flash.display.Sprite;
import com.childClass;
[Code].....
I'm trying to have a class reference a variable within the document class and have scoured the web but can't seem to find a solution. It seems relatively simple, but is a major stumbling block for me.
I want the variable in the doc class to increment each time a draggable object is within bounds and snapped to a box in the subclass. By tracking successful snaps, the objects will be placed one under the other each time.
I have a Document class that instantiates a class named Other. I need to call a function in the Other class from the Document class.I'm getting this error: Call to a possibly undefined method OtherFunction through a reference with static type Other.I have read online that you need to use make the functions static or use a getter function but I'm unclear how to do that. I haven't been able to make it work and I feel like i'm missing something fundemental with this problem.below are simplified versions of the classes.
Document class
Code:
package {[code]......
I have a document class called Main.as In the class constructor I have the following listener:
enter code here
var listeningFORModeChangeToStudent:Sprite = new Sprite;
listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp);
addChild(listeningFORModeChangeToStudent);
[code]....
In a third class I make a call to the despatcher in the previous class:
enter code here
var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent;
ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
I have trace statements in eveything and from this I know the despatcher in TellAllModeChangeToStudent is being called.The problem is that the listener in the main.as is not calling the function exp.I cant see why and I dont know how to check if the listener is actually seeing the dispatch event?
I have a class Debug with a function called trace inside it which puts a TextField on the stage and outputs the text. Now I am trying to get the Debug.trace() function to do a "normal" debug trace as well from within side itself. of course this causes a recursive loop. I am trying to figure out how I can access the top level separately. I tried using namespaces such as AS3::trace but to no luck.
I know a solution is to rename my function to stop the conflict, but I would like that to be a last resort. It is being used in quite alot of places throughout my entire code so replacing it everywhere is going to be a ballache.
Okay so I am reading through sens tutorial on OOP and updating my game that I am making. It is much easier to code this way (IMO) but still hitting snags.I am trying to get through this code:
[Code]...
can i call a class public function from another class? what's the cleaniest solution to do that?
[Code].....
a button wich is istanced in Menu, run showTheThumbs method, in Thumbs.
My first experience is build an aquarium with a lot of fish swimming, and they can be clicked. When one of them is clicked we should receive a trace message saying ("I�m a Fish!"). To do this, I thought that the best way will be:
1- create a document class, named Main.as
2- create a base class, named Clicked.as
2- create a movie clip with a fish.
3- export the movieclip to actionscript. In the mc properties set Class as "fish" and Base Class as "Clicked".
I want to call a function that is inside in a document class from another class how can i do this ??
View 1 Replies