2017-01-11 245 views
1

我正在使用Canvas爲網站創建Audio Visualizer,但它並未出現在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,它加載罰款(和相當快)。

我已經創建了一個工作在Chrome和Firefox罰款codepen例子,但不會在Safari工作:http://codepen.io/ericjacksonwood/pen/bBGEbM

+0

@dandavis根據你的鏈接Safari自v6以來的基本支持(但前綴)我懷疑OP是使用stereoPanner還是聲明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現在工作的罰款。