2011-04-14 6 views
0

Je suis en train d'écrire et de lire des mp3 en actionScript pour mon site web. Le problème est, il faut aussi télécharger des fichiers. Ce que je veux dire, il va télécharger des fichiers mp3 à partir du serveur distant via la fonction URLLoader.load() probablement. AS n'est pas multithread donc lors du téléchargement des blocs. En pensant à la solution, j'ai compris, je peux écrire pour séparer, appelons-le modules (.swf) et l'un sera lecteur de musique, l'autre téléchargeur et ils peuvent communiquer via javascript.Lecteur mp3 complexe ActionScript 3.0

Est-ce une bonne idée ou existe-t-il de meilleures solutions et quelles sont les meilleures pratiques en matière de communication entre .swfs?

Vive

+0

Vous avez écrit "via la fonction URLLoader.load() probablement". Avez-vous réellement essayé de l'utiliser? Si vous le faites, vous constaterez qu'il est asynchrone, donc il ne bloquera pas votre interface. –

+0

Je le fais, mais j'ai essayé d'utiliser URLLoader1.load() et URLLoader2.load() en même temps et il semble qu'ils fonctionnent les uns après les autres, pas en même temps (ou peut-être que j'ai fait quelque chose de mal: D) donc je ça bloque ...: D – f1ames

Répondre

1

URLLoader.load() ne bloque pas l'interface utilisateur. Cependant, le navigateur et le lecteur flash n'autoriseront que 2 connexions ouvertes au même nom de domaine, de sorte que vous ne pourrez jouer qu'une chanson et télécharger une chanson à la fois.

+0

Wow, c'est bon à savoir sur les connexions (théoriquement, utilisera-t-il une aide proxy?): DI sait que Sound.load() et Sound.play() peuvent fonctionner en même temps, donc en utilisant URLLoader.load() avec plus de deux, ne serait pas un problème?: D – f1ames

+0

Je crois que par défaut FF et IE limitent l'utilisateur à 6 connexions au total, et 2 connexions par hôte. Ceci est une limite de navigateur à laquelle le lecteur flash adhère. Donc si vous avez 1 Sound.load() et 1 Sound.play() en cours d'exécution, URLLoader.load() bloquera jusqu'à ce que l'un d'eux soit terminé. Un moyen rapide de contourner ce problème serait de configurer des sous-domaines. Quelque chose comme: streaming.mydomain.com et downloads.mydomain.com. De cette façon, vous obtiendrez 2 connexions par sous-domaine. –