2017-05-04 3 views
1

J'ai un problème étrange et déjà perdu plusieurs heures là-dessus:Firefox ne joue aucun fichier audio M4A de l'Internet, localhost travaille

Lorsque je tente de lire un fichier audio M4A à partir d'un emplacement Web dans Firefox Je reçois un message d'erreur indiquant que le format vidéo ou le type mime n'est pas pris en charge. Mais quand je télécharge le même fichier M4A et le joue localement à partir du disque dans Firefox, il fonctionne.

Je l'ai essayé avec ce fichier: http://techslides.com/demos/samples/sample.m4a

Chrome et IE tout fonctionne. J'utilise Firefox 53, version 32 bits.

Quelqu'un at-il une idée de comment je peux résoudre ce problème dans Firefox?

MISE À JOUR:

Je mis en place une page de test afin de clarifier les différences dans Firefox:

http://123-bb.de/tests/audiotest

Le résultat est intéressant: Le premier fichier M4A se joue sans problème si elle est appelée un lien directement, mais ne joue pas lorsqu'il est appelé en Javascript Audio. Le deuxième fichier est l'opposé.

Donc la question est, comment puis-je obtenir Firefox pour définir le type mime correctement lorsqu'il est chargé comme un élément audio Javascript?

Répondre

1

Le problème avec Firefox et le format m4a est dû à la licence. Le navigateur utilise des bibliothèques de système d'exploitation intégrées pour lire le fichier afin de ne pas payer les frais de licence. Le fichier m4a à jouer needs to be in mp4 container - il doit avoir audio/mp4MIME type.

Le fichier que vous avez lié lors de la lecture du lien a - audio/mpeg. Lorsque j'ai essayé de l'intégrer in JSFiddle firefox le détecter correctement comme - audio/mp4 en raison de la configuration du serveur. Vous pouvez contrôler le type MIME d'un fichier mais uniquement sur votre serveur, plus sur ce here.

+0

Merci pour votre réponse, j'ai mis en place un test à http://123-bb.de/tests/audiotest et il semble que firefox détecte le type mime pour le même fichier différemment. Le fichier exemple ci-dessus est bien lu s'il est appelé depuis Javascript en tant qu'élément audio. Un autre fichier avec un type mime correct est le contraire. – dcman

0

j'ai eu la réponse à ma question de l'équipe Firefox:

https://bugzilla.mozilla.org/show_bug.cgi?id=1362358

En bref: Il y a 2 façons différentes comment Firefox recherche le type mime. Lorsque le fichier audio est appelé à partir d'un objet audio Javascript, Firefox ignore le type mime de la réponse http et le détecte en sniffant dans le fichier audio. Mes fichiers M4A ont un encodage 3gpp et ce codec n'est pas supporté par Firefox.