2017-01-11 3 views
1

Я создаю Audio Visualizer для веб-сайта с использованием Canvas, но он не отображается в Safari. Я думаю, что это может быть проблемой при загрузке аудио, поскольку визуализатор не будет отображаться до тех пор, пока звук не загрузится.Canvas Audio Visualizer, не отображающийся в Safari

Вот что я использую, чтобы загрузить аудио:

var request = new XMLHttpRequest(); 

request.open('GET', 'http://content.jwplatform.com/videos/gNilRtS6-xLS6q3Uo.m4a', true); 
request.responseType = 'blob'; 

request.onload = function() { 
    audio.src = window.URL.createObjectURL(request.response); 
    console.log(request.response); 
} 

request.send(); 

Если я перейти к звуковому URL, он загружает штраф (и довольно быстро).

Я создал codepen пример, который отлично работает в Chrome и Firefox, но не будет работать в Safari: http://codepen.io/ericjacksonwood/pen/bBGEbM

+0

@ dandavis по вашей ссылке Safari в качестве базовой поддержки с v6 (но префикс). Я сомневаюсь, что OP использует стереопанетер или утверждает API или постоянный источник. Но в любом случае некоторые [mcve] или, по крайней мере, выход консоли помогут. – Kaiido

+0

@Kaiido: хороший глаз, я стоял исправлено. – dandavis

+0

@Kaiido Я не могу видеть эту часть статьи, которая говорит о префиксе для Safari. Не могли бы вы объяснить немного больше, что вы имеете в виду, и где вы это нашли? Я бы хотел, чтобы это работало над Safari 6+, если это возможно? Моя ссылка CodePen минимальна (я удалил все, что не нужно для этого примера), Complete (я сохранил все необходимые вещи, и все они могут быть замечены в редакторе CodePen) и Verifiable (в настоящее время не работает в Safari 10) –

ответ

0

Я был в состоянии получить эту работу, обновляя свою AudioContext(); включить префикс WebKit поставщика:

var audioContext = new (window.AudioContext || window.webkitAudioContext)(); 

Я обновил codepen на reflext это изменение, и это, кажется, работает в настоящее время штраф на Safari, Chrome и Firefox.

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