login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Niet-afgehandelde IOErrorEvent

Offline finduilas - 06/01/2010 16:02
Avatar van finduilasPHP gevorderde Beste,

Ik ben momenteel aan het proberen om video's in te laden van youtube. Het lukt me, als de ID juist is. Maar nu krijg ik als dit niet zo is een Error #2044: Niet-afgehandelde IOErrorEvent:. text=Error #2036: Laden nooit voltooid.

Helaas kan ik niet vinden hoe ik dit moet opvangen? Iemand die me kan helpen hiermee?
http://pastebin.be/22796

8 antwoorden

Gesponsorde links
Offline vinTage - 06/01/2010 16:19
Avatar van vinTage Nieuw lid
  1. public function VideoView()
  2. {
  3. loader = new Loader();
  4. loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
  5.  
  6. loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  7.  
  8. loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
  9. }
  10.  
  11.  
  12. private function ioErrorHandler(event:IOErrorEvent):void
  13. {
  14. trace("ioErrorHandler: " + event);
  15. }

Offline finduilas - 06/01/2010 16:28
Avatar van finduilas PHP gevorderde Dacht ik ook; maar laat ik het even beter uitleggen... Het probleem zit hem eigenlijk niet daar.

http://www.youtube.com/apiplayer?version=3 is namelijk correct. De error zelf komt na het inladen van het ID. (Lijn 35: player.cueVideoById("3blaalzlza");) want het is namelijk dat ID die incorrect is. En ik weet dus niet hoe ik die errors moet opvangen.
Offline vinTage - 06/01/2010 16:35
Avatar van vinTage Nieuw lid Ik snap em niet, als die ioErrorHandler functie aangeroepen wordt is er toch geen probleem?
Offline finduilas - 06/01/2010 16:42
Avatar van finduilas PHP gevorderde Ik gebruik de API van youtube.. Daarvoor is het dus eerst nodig dat ik deze inlaad. (maar heeft dus nog niets te maken met de eigenlijke video die ik wil). Het probleem komt maar wanneer ik dus die lijn 35 uitvoer (want daarin zit de eigenlijke ID van de video die ik wil). En het is dan pas dat ik die IOError krijg, volgens mij doet youtube dan een soort nieuwe request. Maar hoe ik die error kan opvangen weet ik niet.

http://code.goo...rence.html

Hier staat dus dat ik moet kijken naar die onError Event, maar helaas doet dat niets. Ik geraak er nooit in..
Offline vinTage - 06/01/2010 16:51
Avatar van vinTage Nieuw lid Op regel 18 laad je de api in, als je daar geen error op krijgt (via ioErrorHandler) dan gaat dat dus goed.

Je moet dan gewoon nog een listener bijhangen in de onLoaderInit functie.
Offline finduilas - 06/01/2010 16:56
Avatar van finduilas PHP gevorderde Dat snap ik ja, maar welke en vooral waarop moet ik dan die eventListener hangen? Want ik heb geen enkel idee daarvan..
Offline vinTage - 06/01/2010 17:06 (laatste wijziging 06/01/2010 17:08)
Avatar van vinTage Nieuw lid Als ik jou "config" test gewoon in flash dan zie ik geen problemen (al weet ik niet wat die que meuk precies wil zeggen.

  1. // This will hold the API player instance once it is initialized.
  2. var player:Object;
  3.  
  4. var loader:Loader = new Loader();
  5. loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
  6. loader.load(new URLRequest("http://www.youtube.com/apiplayer?version=3"));
  7.  
  8. function onLoaderInit(event:Event):void {
  9. addChild(loader);
  10. loader.content.addEventListener("onReady", onPlayerReady);
  11. loader.content.addEventListener("onError", onPlayerError);
  12. loader.content.addEventListener("onStateChange", onPlayerStateChange);
  13. loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
  14. }
  15.  
  16. function onPlayerReady(event:Event):void {
  17. // Event.data contains the event parameter, which is the Player API ID
  18. trace("player ready:", Object(event).data);
  19.  
  20. // Once this event has been dispatched by the player, we can use
  21. // cueVideoById, loadVideoById, cueVideoByUrl and loadVideoByUrl
  22. // to load a particular YouTube video.
  23.  
  24. player = loader.content;
  25. player.cueVideoById("3blaalzlza");
  26. player.cueVideoById("3kRuTlOXs5o");
  27. player.loadVideoById("3kRuTlOXs5o");
  28. player.loadVideoById("blablabla");
  29. player.setSize(400, 280);
  30. }
  31.  
  32. function onPlayerError(event:Event):void {
  33. // Event.data contains the event parameter, which is the error code
  34. trace("player error:", Object(event).data);
  35. }
  36.  
  37. function onPlayerStateChange(event:Event):void {
  38. // Event.data contains the event parameter, which is the new player state
  39. trace("player state:", Object(event).data);
  40. }
  41.  
  42. function onVideoPlaybackQualityChange(event:Event):void {
  43. // Event.data contains the event parameter, which is the new video quality
  44. trace("video quality:", Object(event).data);
  45. }


edit: nu weet ik het wel en dat klopt dus ook gewoon
Offline finduilas - 06/01/2010 17:20
Avatar van finduilas PHP gevorderde waarom jij wel iets krijg is omdat je meerdere videos inlaad en er wel een correcte bij zit...

Ook werkt die onError bij loadVideoById maar begint ie hem rechtstreeks af te spelen. Cue'en doet dit niet en zorgt er gewoon voor dat ie wordt ingeladen.

als ik enkel cueVideoById doe krijg ik het volgende:
http://img51.im...ing1yn.png
(maar dit is omdat ik wel flash 10 voor developers heb;)

Ondertussen heb ik het opgelost met die loadVideoById en de video meteen op pause plaatsen, laad ie alsnog in, zonder af te spelen, en als ik geluk heb krijg ik er nog eens een thumbnail ook. Maar toch vind ik het raar dat ik die cueVideoById niet kan gebruiken 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s