ActionScript 1/2 :: Any Way To Counteract Buffered KeyRepeat?
May 19, 2010
I'm moving an movieclip using the cursor keys. The device it has to run on, is too slow to process the keys realtime, so the keys are placed in a some sort of buffer and the object keeps on moving for a while when the key is released.The device places 8 keys in the buffer per second, but flash can only process 5 per second, so holding the key for a second, will look like I've pressed it almost twice as long. Any way to counteract this? I've tried using Key.isDown, but that returns true, even though they key is released, until the buffer is emptied.
I've tried using the onKeyDown event to start the movement and stop the movement using the onKeyUp event, but it seems like the onKeyUp event only occurs when the buffer becomes empty. Even when I remove the onKeyDown listener, it seems like the buffer only decreases 1 key per frame. It might have worked when there is no keyrepeat in the hardware, but that is not an option. It would be good if there was a timestamp indicating when the key was pressed, or some way to clear the buffer, but I've not found one.
i have a video in which I can seek to unload parts (Pseudo-Streaming), the server return the video and it loads it from the requested second,the problem, i don't want to make a new request to the server if a part has already been buffered, here's what I have in mind, but can't achieve
Code: if(netStream_has_been_download){ //Just run the seek() command
When recording a video to FMIS if the stream is buffered, does this get buffered in memory or does it use up local storage?
I am developing an application that will use a web cam to record videos which will then be submitted to the server. Ideally I would have liked to write the video to disk first and then upload later however, I understand that I can't do this with flash (my solution has to be in browser AIR apps aren't an option). I am ultimately concerned about video quality so in order to ensure that I loose as few frames as possible I'm planning on setting NetStream.bufferTime to a large value. I am concerned however that someone with a poor internet connection and a good webcam will quickly use up local storage assuming that it is set to the default of 100K.
If this is the case then I potentially need to think again about my approach - maybe even look into Silverlight 4, or at the very least try and explain to my users how to go into flash settings and set local storage to be unlimited.
Whenever a youtube or any other flash content is buffered on the browser, isn't it true that is downloaded to the client computer ? So my assumption is that, any completely buffered youtube file should be found on my client right ? For example, when i view this video on youtube, i see that it is actually referring to this swf location [URL] How does youtube actually buffer this video on my computer then ?
Note: My objective is NOT to download youtube videos as i know there are extensions available for it. I just want to know how it works :) .
i'm trying to build a mp3 player that plays a (for istance) base64 encoded mp3 file.my needs is to protect original files and decrypt them at runtime.now, i'm playing with new Sound apis and SampleDataEvent like this:
ActionScript Code: public var s1:Sound; public var s2:Sound;
I found an interesting questions regarding the events in action script: is the event buffered and ordered?
Ie) In a swfloader example, I setup a timer(1 sec) to run a function, in the function I setup a listener to event INIT of the loaded swf. It depends on the network condition that whether the timer handler or the INIT event will be first executed. Imagine a case that the INIT event fired first but the handler to handle the INIT event be setup later, will the handler be invoked?
Another question, if the loaded swf fired several events very fast, will the events be kept ordered as the fire sequence?
I can get which part of file in bytes is loaded using netstream.bytesLoaded,netstream.bytesTotal, I can get the current playing position using netstream.time. But I want to know how many seconds of video are already loaded (not the length of buffer, which remains constant).
Normally we use NetStream.Seek method but it will make the seek after the buffer area crossed the seek time length.(HTTP). Can we seek the video that is beyond the buffered area like youtube in red5. Will it start the buffer from the seek point.
what I'm trying to put together is some code that will load in multiple flvs, buffer the vids and have them play one after the other in a loop. I have so far code that loads in an array of flvs but doesn't loop. Also the buffering stops the play back for a moment towards the end of the first video, not sure why but changing Flush into Full doesn't help. Anyone know how to add a buffer that plays after a % of the movie it buffered or will buffer movie one and then buffer movie two while the first movie is still playing? As for looping goes I need a listener waiting for the last video in the array to be completed, but not sure how to pull that off.
The upgrade version of FMS 3.5.3 append the new function about buffered stream, in order to resolve problem when the bandwidth no good caused the video getting more and more slow, but I can't find the configuration in which file.
I'd like to start playing a web-based video at a specific time, say 2 minutes in, even if the video hasn't been downloaded that far. I thought I could just "seek" to that time but that apparently only works when the video is buffered first.
So for example, this: Code: nc = new NetConnection(); nc.connect(null); ns = new NetStream(nc); ns.play("[URL]"); ns.seek(123); video.attachVideo(ns);
Seems to work if you have the video cached or buffered or whatever, but if you don't it gives the "NetStream.Seek.InvalidTime" error, which makes sense. I want to know if it's possible to start playing a video at a specific time, even if the video hasn't loaded up to that point.
1. when i load 4 videos and ensure they are fully buffered from video progress event and bytesloaded==bytestotal . and then play them. I get sync issues for every other second.
2. when i download the vidoes and place them in my project folder and then load them ( no loading time) there are no sync issues. I cant understand why 1 is different from 2 as we are completely loading the videos in cache.
when uing netsream.seek(), how can i make a new request to the server if the seconds parameter specifies a time outside of the currently buffered video data. I want to seek unloaded time