Je construis un site qui stocke quelques fichiers audio mp3 dans mySQL. Pour le moment seulement 5, l'efficacité n'est pas un problème du tout. En ce moment, j'essaie toujours de faire une solution multi-navigateur/plate-forme qui ne nécessitera pas d'autres formats de fichiers.Récupérer et lire des fichiers mp3 à partir de mySQL en utilisant Javascript/PHP
J'ai un script PHP qui récupère les données binaires mp3 et envoie l'en-tête approprié au navigateur. Les fichiers peuvent ensuite être récupérés en spécifiant le src de l'élément audio (que ce soit audio ou embed, ou autre) comme suit: src = "retrieve_audio.php? UniqueAudioID = [fichier d'identification de variable PHP]". Le fichier retrieve_audio php prend l'ID de base de données fourni dans l'URL et récupère les données, l'envoie avec l'en-tête à la page demandeuse ...
Cela fonctionne bien pour les balises audio et embed dans Safari. Pour une raison quelconque, Safari l'appelle un flux - probablement parce que la taille du fichier n'est pas fournie - et les contrôles ne permettent pas de récurer le fichier indépendamment de l'étiquette utilisé (audio ou embed). IE semble comprendre la longueur du fichier récupéré bien qu'il ne soit pas explicitement donné. Le vrai problème est Firefox, Opera et Chrome. Ceux-ci ne semblent pas comprendre cela du tout. FIrefox montre un contrôle pendant quelques secondes, puis affiche un X comme dans - Je ne peux pas jouer ceci ... Je suis conscient des problèmes avec le tag dans Firefox. Il fait la même chose avec embed. Opera et Chrome n'affiche rien ou un carré blanc vide.
Des suggestions?
Je n'aurais jamais pensé devoir lutter avec Firefox sur quelque chose qui fonctionne dans IE!
Toute contribution sera grandement appréciée.
M
Je résolu la question Firefox et Opera, pas trop préoccupé par Chrome pour le moment. Mais - Je voudrais savoir comment SAfari reconnaît que le contenu n'est pas un flux, mais une quantité limitée de données. Je fournis l'en-tête content-length maintenant - de quoi Safari a-t-il besoin pour reconnaître la longueur du fichier audio? Merci M –