2009-07-23 4 views
4

Je reçois un flux MP3 binaire pur à partir d'un appel ajax. Pas d'en-tête, rien. Juste des morceaux MP3. (En fait, est-ce vraiment un flux du tout?)Comment lire un flux MP3 binaire avec jQuery/Javascript?

Je voudrais pouvoir le lire dans une page Web (et, si possible, l'offrir en téléchargement).

Est-ce possible? Et si oui, quelle est la meilleure façon de le faire?

Si ce n'est pas possible, quelles sont les autres façons de gérer cela?

+0

Aurait dû mentionner que je sais que j'ai besoin d'un lecteur flash ou quelque chose comme ça. J'étais plus intéressé par la façon de jouer un flux de ce type sans une URL ou un fichier ... – thermans

+0

donc la réponse ajax contient une chaîne qui contient le fichier mp3 entier? ou la réponse vous donne-t-elle une url de ce flux? – mkoryak

+0

Le premier. Une chaîne avec seulement les données mp3 binaires. – thermans

Répondre

2

Vous ne pouvez pas lire de la musique avec du javascript pur. vous aurez besoin d'obtenir ce flux et le passer à un lecteur flash.

essayez JW flash player, mais je ne suis pas sûr si elle peut gérer le type de flux dont vous parlez. vous aurez à faire quelques recherches sur ce qu'il peut gérer

+0

sûrement le flash n'est pas la seule option? –

+0

c'est le plus compatible avec tous les navigateurs. – pixeline

1

comme déjà mentionné, vous aurez besoin d'un plugin de lecture mp3, le flash étant le plus largement disponible. Le plugin jQuery JMP3 facilite cette tâche pour vous. Il s'appuie sur un fichier flash pour le traitement du son.

+0

Ya, j'essaie celui-là maintenant. Mais je ne vois pas comment lui transmettre les données. Dans une var? – thermans

1

Si vous ne ciblez que very modern browsers, vous pouvez utiliser l'URL de données: s, et écrire simplement un élément objet dans votre code HTML, et un lien vers cette URL de données. Note: Je n'ai pas essayé ça.

0

Vous voudrez peut-être regarder SoundManager 2: Javascript Sound for the Web

Son un script JavaScript sous licence BSD open source pour traiter avec le son.

Il se connecte automatiquement en HTML5 ou Flash pour produire le son, en fonction de ce qui est disponible.

0

Je l'ai fait en utilisant data uris et il y a le problème de compatibilité du navigateur, il y a le problème de longueur de l'URL (fondamentalement> environ 30 000 caractères ne supporteront pas IE) et il y a aussi le problème du décodage la valeur base64 (la mise en mémoire tampon est également extrêmement lente).

Avec la technologie Web actuelle, je dirais que votre meilleur pari est d'écrire les données dans un fichier temporaire sur votre serveur et ensuite avoir quelque chose comme Dewplayer charger le fichier temporaire et le lire.

Questions connexes