2015-04-17 4 views
0

, локальной у меня есть сайт, который работал большой вчера и сегодня, я открыл его снова и звук больше не играетвеб-аудио API не работает в хроме

это не происходит на светлячок, ни на одном Я размещен на Google диске

вот HTML часть вызова скриптов:

<script src="Scripts/frenzyMode.js"></script> 
<script src="Scripts/DVR media player.js"></script> 
<script src="Scripts/visualizer.js"></script> 
<script src="Scripts/bodyScript.js"></script> 

и вот visualizer.js:

var canvas, ctx, source, context, analyser, fbc_array, bars, bar_x, bar_width, bar_height; 
    function initVisualizer() { 
     context = new AudioContext(); 
     analyser = context.createAnalyser(); 
     biquad = context.createBiquadFilter(); 
     gainNode = context.createGain(); 
     canvas = document.getElementById("visualizer"); 
     ctx = canvas.getContext('2d'); 
     ctx.fillStyle = "#3f3f3f"; 


     analyser.smoothingTimeConstant = 0.8; 
     biquad.frequency.value = 15000; 
     gainNode.gain.value = 1; 

     source = context.createMediaElementSource(Musique); 
     source.connect(biquad); 
     biquad.connect(gainNode); 
     gainNode.connect(analyser); 
     analyser.connect(context.destination); 

     $("#frequencyNumber").html(biquad.frequency.value); 
     $("#visualizerSensibilityNumber").html(analyser.smoothingTimeConstant); 
     $("#gainNumber").html(gainNode.gain.value.toPrecision(3)); 

     framelooper() 
    } 

    function framelooper() { 
     window.requestAnimationFrame(framelooper); 
     fbcArray = new Uint8Array(analyser.frequencyBinCount); 
     analyser.getByteFrequencyData(fbcArray); 
     ctx.clearRect(0, 0, canvas.width, canvas.height); 
     bars = 50; 
     for (i=0; i < bars; i++) { 
      bar_x = i * 6; 
      bar_width = 5; 
      bar_height = -(fbcArray[i]/1.75); //6 //1.75 

      if (visualizerStyle == 1){ 
       //Simple 
       ctx.fillRect(bar_x, canvas.height, bar_width, bar_height); 
       $("#visualizerStyleType").html("Simple"); 
      } 
      else if (visualizerStyle == 2) { 
       //Reflection 
       ctx.fillRect(bar_x, canvas.height/2, bar_width, bar_height/2); 
       ctx.fillRect(bar_x, canvas.height/2, bar_width, -bar_height/2); 
       $("#visualizerStyleType").html("Reflection"); 
      } 
      else { 
       //Two-faced 
       ctx.fillRect(0, bar_x, -bar_height, bar_width); 
       ctx.fillRect(canvas.width, bar_x, bar_height, bar_width); 
       $("#visualizerStyleType").html("Face to Face"); 
      } 
     } 
    } 

У меня нет абсолютно никакой идеи, почему это происходит, поскольку консоль не дает никаких ошибок вообще

+1

Если звук исходит из внешнего домена, это может быть проблема перекрестного происхождения. – lemieuxster

+0

Любые ошибки в консоли? Пробелы в имени файла? – epascarello

+0

@epascarello В консоли не было ошибок и файлы были названы 1.mp3, 2.mp3, ... –

ответ

1

Я думаю, что Chrome 42 добавляет ограничения CORS к аудио ресурсам, которые по какой-то причине отсутствовали раньше.

Возможное дублирование с этим: Web Audio API no sound playing

+0

да, это проблема с перекрестным происхождением, я не знал, что они добавили, что в последней версии хром , BTW, есть место, где я могу видеть изменения в каждой версии –

+0

Они публикуют заметки о выпуске, здесь: http://googlechromereleases.blogspot.com/ –

+0

Я нашел этот сайт раньше, но он настолько грязный по сравнению с одним firefox имеет, я думаю, это потому, что они смешивают все версии вместе (есть сообщение о версии 44.0 прямо перед публикацией о версии 42.0, за которой следует еще обновление версии 44.0) –

Смежные вопросы