2009-09-02 3 views
0

J'utilise le plugin jQuery ci-dessous pour jouer mp3 www.happyworm.com/jquery/jplayermp3 Obtenez le temps total de plages utilisant javascript ou ASP.NET

Cependant, il y a un bug dans Flash que le total le temps de lecture (piste) n'apparaîtra pas correctement jusqu'à ce que l'ensemble du mp3 soit terminé.

Je me demande s'il existe un moyen de contourner ce problème pour obtenir le temps total correct en utilisant javascript/une autre bibliothèque flash/même backend dans ASP.NET. Toute suggestion aide. Merci

+0

Ne vaut pas une réponse en soi, mais comme Herms l'a dit, il n'y a rien dans le format MP3 que je connaisse pour déterminer la longueur du son avant qu'il ne soit chargé. Avez-vous envisagé d'utiliser ID3 pour obtenir cette information? –

Répondre

1

Vous êtes sûr que c'est un bug? En regardant la définition d'en-tête pour le MP3 format je ne vois aucune valeur pour la longueur du fichier. En général, les applications qui lisent des fichiers MP3 doivent calculer l'heure, ce qui peut ne pas être possible avant que le fichier entier ne soit téléchargé. Donc, le comportement que vous voyez de Flash pourrait être attendu. En théorie, s'il s'agit d'un fichier à débit binaire fixe (par opposition à VBR), connaître le débit (obtenu à partir de l'en-tête) et la taille totale du fichier devraient suffire à le calculer. Cependant, le serveur devrait signaler la taille du fichier dans les en-têtes de réponse (et cela n'est pas garanti pour être précis). Je suppose que vous auriez besoin d'un service sur le serveur qui pourrait calculer la longueur et vous le signaler dans une demande distincte.

+0

Oui, je ne suis pas convaincu que ce soit un bug non plus. Il y a, cependant, une heure de début et de fin dans l'étiquette ID3 (https://secure.wikimedia.org/wikipedia/en/wiki/ID3), mais c'est le plus proche. –

+0

Je n'ai pas beaucoup de connaissances sur le mp3. L'ID3 est-il ajouté dans le fichier mp3 lui-même? Et si ce n'est pas là, rien que nous puissions faire, non? –

+0

Même s'il est là, vous pouvez avoir du mal à y accéder côté client. Pour que javascript y accède, le code javascript devra le télécharger et traiter le fichier. C'est séparé du lecteur flash qui le télécharge, donc vous allez gaspiller de la bande passante. – Herms

Questions connexes