I would much rather disable it or make it invisible programmatically - is that possible?
Main Topics
Browse All TopicsHi
I have a .flv that is imported into Flash and I use one of the built-in skins for controls. I want to disable the seek bar so that users can't skip to the end of the clip wihout watching it. The name of the .flv instance is "pres".
I've tried pres.skin_mc.seekBar_mc.ha
Thanks in advance.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
It's AS2 but that doesn't work.
Just to be clear - In Flash CS4 I create a new document (Flash File Actionscript 2.0). Then import video, select my .flv file, with "Load external video with playback component" selected, then selecting the skin "ArcticExternalPlaySeekMut
I have some other script to detect the end of the clip and that works fine:
var listenerObject:Object = new Object();
listenerObject.complete = function(eventObject:Objec
_parent.getNextSlide( );
};
pres.addEventListener("com
Does any of that change anything in terms of disabling the seek bar handle?
Well, I've spent hours with this and I'm stumped and pissed off. I've opened up the .fla file of the skin you're using and it seems like it should be really easy to get at the seekBar movie clip to be able to turn it off and on:
Inside ArcticExternalPlaySeekMute
is layout_mc.seekBar_mc.
Okay, so I'm expecting to see layout_mc on the FLVPlaybackComponent instance on stage (I'm calling mine "player" for simplicity).
Here are all the properties on the player instance:
_seekBar:undefined
_cuePoints:null
_cpMgr:[object Object]
_vpState:[object Object]
_vp:_level0.player.0
_topVP:0
_visibleVP:0
_activeVP:0
_uiMgr:[object Object]
_firstStreamShown:false
_firstStreamReady:false
_preSeekTime:-1
_scaleY:100
_scaleX:100
_origWidth:480
__width:480
_origHeight:360
__height:360
_bufferingBarHides:false
_transform:null
_progressInterval:250
_playheadUpdateInterval:25
_seekToPrevOffset:1
_idleTimeout:300000
dispatchQueue:[type Function]
dispatchEvent:[type Function]
removeEventListener:[type Function]
addEventListener:[type Function]
_volume:100
_totalTime:0
_skinAutoHide:false
_skin:ArcticExternalPlaySe
_aspectRatio:true
_isLive:false
_contentPath:testMovie.flv
_bufferTime:0.1
_autoSize:false
_autoRewind:true
_autoPlay:true
skin_mc:_level0.player.ski
0:_level0.player.0
boundingBox_mc:_level0.pla
First of all, notice that _seekBar is undefined. Crap.
There is no mention of layout_mc. Well, okay, that's understandable, because that's contained inside the skin's SWF, not inside the FLVPlayback class that this component implements.
Next, we notice that there's a skin_mc property and it points to level0.player.skin_mc movieClip. Perfect! I'm expecting that sucker to open up like Pandora's legs and reveal all her secrets.
So, let's trace out the contents of player.skin_mc...
Nothing. Crap crap crap. Why is it empty? It's a danged MovieClip, with lots of children, it should be populated....
So after a couple more hours, I discover there's this uiMgr object that is an instance of the UIManager class. Let's trace out its properties...
_progressPercent:0
_skinAutoHideIntervalID:0
_bufferingOn:false
_bufferingDelayInterval:10
_bufferingDelayIntervalID:
_volumeBarScrubTolerance:0
_volumeBarInterval:250
_volumeBarIntervalID:0
_seekBarScrubTolerance:5
_seekBarInterval:250
_seekBarIntervalID:0
border_mc:undefined
layout_mc:undefined
skinLoader:[object Object]
skin_mc:_level0.player.ski
customClips:undefined
controls:
_isMuted:false
cachedSoundLevel:100
_lastVolumePos:0
_lastScrubPos:0
_controlsEnabled:true
_bufferingBarHides:false
__visible:false
_skinReady:false
_skinAutoHide:false
_skin:ArcticExternalPlaySe
_vc:_level0.player
Promising. It knows the name of the _skin that we're using, and it too has a skin_mc object.
Okay, let's trace out player._uiMgr.skin_mc....
no properties. Crap!
I also notice that layout_mc is undefined at this time... weird.
Then I notice this skinLoader object and it gets me thinking: maybe the reason everything is tracing out undefined at this time is because I need to wait until the skin has actually loaded before accessing properties on it.
This actually met with some success:
var listenerObject:Object = new Object();
listenerObject.skinLoaded = function(eventObj:Object):
var obj = eventObj.target.skin_mc.se
for (var i in obj){
trace(i + ":" + obj[i]);
}
obj.handle_mc._alpha = 0;
obj.progress_mc._alpha = 0;
};
player.addEventListener("s
With the code above you can see that we are now seeing all these properties and can access the seekBar_mc. But you can't set its _alpha to 0 and _visible doesn't work.
Now the best I was able to do was to set the alpha on the handle and the progress, but the "groove" is still there. You could theoretically edit the FLA, create a custom skin that doesn't have the groove and the seekbar will be effectively hidden. But I don't know whether it will still accept mouse events, so it may not actually be disabled.
That's it. I'm spent. I don't know what else to do. I've even tried extending the FLVPlayback component, but to no avail.
You might want to follow these tutorials, and see if they're any use:
http://nerdabilly.com/2007
http://board.flashkit.com/
Let me know if any of my research turns on the lightbulb for you and you crack this nut. This has become personal!
grrr.
Tom, you're an absolute legend!!!
Thanks so much for your expertise and hard work. Hiding the seekbar handle gives me the result I want since users can no longer use it to skip through the clip. The handle was still slightly useable by seeing the cursor change to hand when moving over it while invisible so all i"ve added is to set the height and width of the handle to zero:
obj.handle_mc._alpha = 0;
obj.handle_mc._height = 0;
obj.handle_mc._width = 0;
Again, thanks so much for your time - way beyond the call of duty.
Business Accounts
Answer for Membership
by: tomaugerdotcomPosted on 2009-10-19 at 06:10:20ID: 25604801
Remove the seekbar by editing the component or choose a skin that doesn't have the seek bar:
S/ActionSc ript/ 3.0_U singCompon entsAS3/WS 5b3ccc516d 4fbf351e63 e3d118a9c6 5b32- 7f00. html#WS5b3 ccc516d4fb f351e63e3d 118a9c65b3 2-7efa
t/flash/ar ticles/ flv _tutorial_ pt2.html
http://help.adobe.com/en_U
http://www.adobe.com/devne