Flash :: Youtube Embedded Video Activating Too Late To Accept Javascript Call
Oct 27, 2010
I have a YouTube video embedded in my page. It is hidden (display:none). You need to click one of the video link buttons to display the video and play it. The links are defined like this:
It's fundamentally pretty simple! But here's the problem. since the video player is hidden, the flash object is not activated. So when I click a video link, the line ytplayer.style.display = 'block'; displays the video player, but it takes about about half a second for flash to load. During this time it cannot accept any method calls, such as the next line ytplayer.loadVideoById( id, 0, 'hd1080' );. Essentially, I have to click the link twice, once to load up the flash video player, the second time to actually load the video into the player.
I'd like to call a javascript function from an embedded .swf file. Specifically, I'd like to call a function in one of my externally linked javascript files from within: function loadTrack(){
[Code]...
which is in an .as file which I assume somehow becomes the swf file. How would I go about this and 're-compile' the .as file?
I'd like to gain read only access to the following parameters of embedded Flash videos located on sites that I do not own through my own custom browser extension/add-on:
Time location of playback head (so I can display the current time in the browser extension via HTML5/JavaScript) Frames (so I can make capture them to an image file, save it and display image in browser extension) Original Dimensions in pixels (so I can display the original video dimensions via JS/HTML5 in browser extension)
Is this possible by using Javascript and HTML5 from a browser extension?
Would I have to use something like the SWFObject Javascript API [URL]
The following is the code I am using to display a YouTube embedded video in my flash application.
Code:
Security.allowDomain("youtube.com"); var plr:MovieClip = new MovieClip(); addChild(plr);
[Code]....
I cannot load more than one of those in my app. As soon as I load one youtube vid like that, any others will fail to load UNLESS it was the same video as the first one loaded, in which case there seems to be a 50% chance that it will load. And even when the second one (the same as the first) does load, there are issues with the player loaded.... it seems they are connected somehow and get confused with each other. The trackbar will flicker between the play time of the first one and the play time of the second one.
Next problem... I cannot unload the video right away. Say my user wants to close the video out, when I use:
Code:
ldr.unload()
the player does NOT close its streams and you can hear the audio still playing (assuming it was closed before it was finished playing)...
In my eyes, this is horribly bad programming on YouTube's part. They claim that you are allowed to embed their videos in AS3.0, but if that's true then why does it have such a horrible time as a child SWF? Proper children SWF files should be listening for an "unload" call and close out anything they need to when unloaded.
Here is what I've tried so far:
- Seperating the videos by loading them into other children SWF files (children that I created that I've told to load a specific YouTube vid)
- loading at different times
- Allowing security access from YouTube
How can I load more than one YouTube video into my Flash App without causing problems between them? I'm at my wit's end.
I have successfully embedded the youtube video in my flash code with: //create area to put youtube video on screen this.createEmptyMovieClip("reason1_video", 10000); reason1_video._xscale = 60; reason1_video._yscale = 60; this.reason1_video.loadMovie("[URL]");
However, the video plays with black bars on top and bottom even though it plays without those directly from youtube: [URL]. Even if I take off the scaling, it still has the black bars. How do I get rid of them? It seems like youtube uses a different player than flash. [URL]. Click on #1 and you will see the video I am talking about.
I have a small ux problem with this embedded object: When scrolling the page up or down using the scroll-wheel of the mouse, it stops working when the mouse cursor is hovering over the video. Are there any html / css / param settings that I can modify to avoid this? See the site itself for a working example. I experience the problem both in Windows 7 64bit and Ubuntu 11.10 64bit so far.
I had problems covering videos on Youtube itself but solved that with a design change (don't need to cover them any more).
So I have a script the user can run and it calls a javascript file to do other stuff on the current webpage. One thing it does is bring up a lightbox that covers the page. Of course it won't cover embedded Youtube videos and so I need to do a few changes. I did the necessary changes and it didn't work. I kept trying and trying and eventually made a page with just an embedded video and a .jpg (my script won't run if there are no images).
I looked to see what the Pinterest script added to the embedded video portion and while it was almost identical they did have an autoplay=0 in there so I added it just so I could see for myself that it is exactly the same. If I run the Pinterest script and close it, then run mine, mine works fine. If I run mine, then the Pinterest script, then mine again, mine works. So I believe this means I'm not adding anything that tells the page "Go ahead and put the video on top anyway."
My portion of the script that adds the wmode:
var players = document.getElementsByTagName('embed'); var len = players.length; for(var i=0;i<len;i++){
I want to create a custom video player to modify the skin of the play controls etc but still host the videos on youtube.The youtube api allows for minor colour adjustments but not full customisation. I know it would be possible if I download the FLVs but i want the video to remain hosted on youtube.
I'm having issues with a YouTube video breaking a jQuery slider when viewed on an Apple mobile device. The slider uses a set width & height window that uses the overflow:hidden property. It looks great in all browsers except for Apple devices where all of the slides are visible in a row as if the overflow:hidden property did not take effect.
I created an ajax jQuery featured content slider that will automatically navigate through each tab. Each tab has some basic html. The one I used is this one: [URL]. For some reason, when I embed a flash video in it, the flash video overflows the div. It looks fine in Chrome and Safari but not the latest version of Firefox (3.6) on the PC. Is it not handling overflow or z-indexes correctly?
My site was 95% point and clicked and the rest getting lucky with mostly the right AS3 after searching the various forums etc. Please be patient and type slowly that I may understand
I managed to get a youtube embedded into my AS3 Flash site. Plays well enough and in the right box. Gota figure out how to default to 480 or 720 but thats not the problem... see below.
My questions is this: is there any way to stop the video from playing all the way through to Youtubes default end screen where it has the Just Watched and Up Next screen? Either by going back to the thumbnail it uses by default or by sending it to another page on my flash site?
The last thing I want is my viewer wandering away from my site ><.
Below is the code I used on the Video holder object Sorry i forgot the tute i pasted from - but it worked thank you who ever you may be:
Security.allowDomain("www.youtube.com");
// This will hold the API player instance once it is initialized. var player:Object; var loader:Loader = new Loader();
It works with Firefox and Chrome, but something's not quite right in IE6. Sadly, one of the project requirements is supporting this browser, so even if it workis in IE7, I need to work this out.I know there's SWFObject, but I'd rather not use it (we are loading already a bunch of JS files, we don't want more).Even this won't work:
I have an AJAX web service call that returns a chunk of HTML that I then apply to a DIV element on my page.This works fine for any html element except a flash video which comes up with 'Movie not loaded'.I've double-checked the html that is being returned and it's all fine, and it works if I don't use AJAX, but when I use AJAX and then add it using JS it doesn't seem to attempt to load the playlist.
I am trying to build a Flash banner ad which will be hosted on a site I have no access to. My client would like to have a button which, when clicked, would open a youtube video in a lightbox frame. I've been looking all around, but all I see that seems workable involves my being able to edit the html page. I am trying to do this with AS3 and Javascript. Some solutions involve JQuery, but I am not a JQuery pro.
I am using YouTube JS API to play videos on my site. Video is played on the dialog box. When user closes the dialog box, player is stopped - player.stopVideo(); But when user clicks again on video icon again, dialog box appears
In Chrome, the video starts playing at the previous position - OK Firefox, the video starts playing from the start irrespective of where user left it last time. - NOT OK
As per my requirements, I want the Chrome to behave as how firefox is behaving.
I want to know if it is possible to use javascript, flash or flex to make a youtube video player that is capable of controlling left/right audio channel volume. For example, mute the left channel and play right channel audio on both left/right speakers.
My mission is to embed a video (custom player) into a facebook wall and track the users events (play count etc.), also gather other relevant data. I was wondering is this at all possible, if so, can you comment on that briefly?
I have embed the youtube flash player via this code.
Code: // create a MovieClip to load the player into var ytplayer:MovieClip = _root.createEmptyMovieClip("ytplayer", 1); // create a listener object for the MovieClipLoader to use var ytPlayerLoaderListener:Object = {
[code]....
I would Like to know, How can I run the destory command because the video keeps playing even though the command has been passed. I've used stopVideo and destory. they dont work until you press the pause button. I would like to end the video even if its playing.
by following a tutorial on [URL], I was able to display a youtube video in flash, but the problem is that the video doesn't have a control menu. Just wondering if there is a way to make one, either it is customized or some default menu provided by youtube or flash.
In my CS4 flash document I have created a media gallery. It's a very simple interface that has mouse overs on thumbnail pictures, and then the larger picture will fadeUP in the center of the document. (With use of framelabels in the timeline).
In the same document, I want the user to be able to click on a video thumbnail, and that video plays back in the center of the document. Several questions: If the user clicks on the thumbnail "onrelease," the time line goes to the player, is it possible to stream this video from a youtube clip into my media player on the screen? If not and I have the document in a fl4 format, is there a simple process to have this video open? (I currently do not have the document in fl4 format).
I have made an Audio Video chat application in AS3 and using FMS as my server.I want to make the functionality of a call accept dialog box which pops up when one client wants to call another .Giving 2nd client the control to accept call or not like is done in Skype and all.Can anyone explain how will thisbe done using AS3.
Is it possible to use Flash JavaScript API with YouTube videos? The only function that I got to work reasonably is "Zoom". TotalFrames() gives "1" and TCurrentFrame('/') is always "0". Other functions seem to do nothing. For testing this I'm just using the live Google Playground Demo with "ytplayer" as the movie object. Most of what I want to do can be done with the Google API, but I still feel uncomfortably unclear on the three way relationship of YouTube videos, swfobject, and Flash.
I have a flash file that contains a package "game" which has a class "Scores" and a method setValue(). I want to write some lines of Javascript that allow me to call that method. Someone directed me to this tutorial, but I am still a bit confused.
Javascript: alert("start"); var so; so = document.embeds[0]; so.addParam("allowScriptAccess","always"); import flash.external.ExternalInterface; ExternalInterface.call("setValue[2600]");
displays an alert to tell me that it has indeed began to execute saves the embedded flash file into a variable and sets access imports that class calls the method.I am not sure about how this class thing works? This is just the bits and pieces I was able to come up with from that site, but I don't really understand how it all works (but certainly hope to eventually).This is the site: http:[url]...how-do-i-access-flash-function-using-javascript.When I execute the code with the importation nothing happens, but the alert does come up when I don't have that statement?
How to implement advanced video player (javascript/jquery/flash) for youtube videos that supports playlists? Is there some good open source script for this, that I could modify.