WEAVE beta – ActionScript: IKEA

Hier der ActionScript-Quellcode von Matthias Mach für die Funktionen zum automatischen Vorausladen von Videos:

// Erzeugen des KontrollArrays für das Autopreloading im Hintergrund
  1. // +++++++++++++++++++++++++++
  2. private function initAutoBackgroundPreloading(){
  3.  
  4.  AUTO_PRELOAD_SEQUENZEN = new Array()
  5. for(var i= 0; i<OBJ_structure.videosequenzer[0].sequenz.length; i++){
  6. var tmpArray = new Array();
  7. tmpArray.push(OBJ_structure.videosequenzer[0].sequenz[i][„attributes_id“]);
  8. tmpArray.push(false);
  9. AUTO_PRELOAD_SEQUENZEN.push(tmpArray);
  10. }
  11. }
  12. // +++++++++++++++++++++++++++
  13.  
  14. // automatisches Hintergrundpreloading, wenn Sequenzen abspielen und kein aktueller Ladevorgang läuft
  15. // +++++++++++++++++++++++++++
  16. private function autoBackgroundPreloading(LAST_SEQUENZ_ID){
  17.  
  18. // 1. Durchsuchen des Kontroll-Arrays nach fertiggestellter Sequenz und Status auf geladen=true setzen
  19. for(var i= 0; i<AUTO_PRELOAD_SEQUENZEN.length; i++){
  20. if(AUTO_PRELOAD_SEQUENZEN[i][0]==LAST_SEQUENZ_ID){
  21. var tmpArray = AUTO_PRELOAD_SEQUENZEN[i];
  22.  
  23. tmpArray[1]=true;
  24. AUTO_PRELOAD_SEQUENZEN[i]=tmpArray;
  25. var sortIndex = i;
  26. }
  27. }
  28.  
  29. // 2. Durchsuchen des KontrollArrays nach noch nicht fertig geladenen Sequenzen
  30. var preloadingLeft = false;
  31.  
  32. // Umschichten des Kontroll-Arrays
  33. for(var i= 0; i < sortIndex; i++){
  34. var tmp = AUTO_PRELOAD_SEQUENZEN.shift();
  35. AUTO_PRELOAD_SEQUENZEN.push(tmp);
  36. }
  37.  
  38. // 3. Kontroll-Array wird nun einfach durchlaufen, und die erste ungeladene Sequenz wird vorgeladen
  39. for(var i= 0; i<AUTO_PRELOAD_SEQUENZEN.length; i++){
  40. if(AUTO_PRELOAD_SEQUENZEN[i][1]==false and preloadingLeft==false){
  41. preloadingLeft = true;
  42.  
  43. starteSequenz(AUTO_PRELOAD_SEQUENZEN[i][0], false)
  44. }
  45. }
  46.  
  47. if(preloadingLeft==false){
  48. // alle Sequenzen sind fertig vorgeladen
  49. }
  50. }
  51. // +++++++++++++++++++++++++++