веб-аудио в firefox

я пытаюсь создать веб-приложение, которое визуализирует и контролирует исходный звук, оно отлично работает в хроме, но полностью ломается в firefox, оно даже не воспроизводит звук. вот код:

var audio = new Audio();
audio.src='track.mp3';
audio.controls = true;
audio.loop = false;
audio.autoplay = false;


window.addEventListener("load", initPlayer, false);

function initPlayer(){
  $("#player").append(audio);

  context = new AudioContext();
  analyser = context.createAnalyser();
  canvas = document.getElementById("vis");;
  ctx = canvas.getContext("2d");

  source = context.createMediaElementSource(audio);
  source.connect(analyser);
  analyser.connect(context.destination);

}

строка, которая все ломает:

  source = context.createMediaElementSource(audio);

после добавления этой строчки плеер просто зависает на 0:00 в firefox. Я провел свое исследование и наткнулся на CORS, но, насколько я понимаю, это не имеет значения, поскольку файл хранится на том же сервере.

Пожалуйста помоги


person user2209644    schedule 08.03.2014    source источник
comment
Когда вы говорите, что все ломается, означает ли это, что выдается ошибка? Если да, то какое сообщение об ошибке?   -  person Kevin Ennis    schedule 08.03.2014
comment
Никакой ошибки не выдается вообще, он даже видит файл, просто не воспроизводит звук и сидит на 0:00, когда нажимается воспроизведение   -  person user2209644    schedule 08.03.2014


Ответы (2)


Вы должны правильно обслуживать звук на сервере, чтобы были установлены типы MIME, поэтому запускайте его с локального хоста, а не с file:///..../track.mp3

person jsantell    schedule 08.03.2014
comment
Спасибо за ваш ответ, не могли бы вы рассказать подробнее, как это реализовать, пожалуйста? - person user2209644; 08.03.2014
comment
Зависит от вашего сервера, общая настройка MAMP/LAMP/WAMP, вероятно, должна делать это. - person jsantell; 10.03.2014

Раньше у нас была ошибка в Firefox, из-за которой MediaElementSourceNode в некоторых случаях не работал должным образом. Теперь это исправлено (я полагаю, что исправление есть в Aurora и Nightly на момент написания статьи).

Извини за это.

person padenot    schedule 08.03.2014
comment
Привет, спасибо за ваш ответ, я пробовал оба, nightly и aurora, они оба отказываются играть во что-либо. - person user2209644; 08.03.2014
comment
Ну, тогда, боюсь, мне понадобится минимальный тестовый пример, чтобы исследовать это. Не могли бы вы предоставить веб-страницу, на которой показано, что не работает в Firefox и работает в Chrome? - person padenot; 10.03.2014