2013-05-17 107 views
3

我正在嘗試開發HTML5遊戲。爲此,我在本地機器上運行PHP內置服務器,然後「編譯」它(合併/縮小JS文件,縮小CSS等),並將它們上傳到生產服務器。Chrome中的音頻問題

我遇到了音效問題。出於某種原因,Chrome無法識別它已達到聲音的結尾,因此會陷入「緩衝」狀態。儘管有效的Content-Length標題。 IE和Firefox似乎沒有這個問題。它也會影響loop屬性,並且它也無法觸發ended事件。

這些問題只出現在PHP內置服務器上。它在生產中工作正常。我錯過了什麼?


編輯:這裏的PHP服務器上的示例請求/響應:

GET /bin/aud/rightwhereiwantyou.mp3 HTTP/1.1 
Host: 10.0.0.110:8000 
Connection: keep-alive 
Accept-Encoding: identity;q=1, *;q=0 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31 
Accept: */* 
Referer: http://10.0.0.110:8000/snake.php 
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Range: bytes=0- 

HTTP/1.1 200 OK 
Host: 10.0.0.110:8000 
Connection: close 
X-Powered-By: PHP/5.4.13 
Content-Type: audio/mpeg 
Content-Length: 1685058 
+0

你可以顯示數據包跟蹤嗎?我懷疑你錯過了一個Content-Type頭,或者遇到範圍請求有問題。 – Brad

+0

請參閱編輯,我已添加示例請求/響應。 –

+0

嗯,這與有效的區別是什麼? – Brad

回答

0

我的野生的猜測是,Chrome正在接受部分內容響應(一個字節範圍),由於MP3文件可能很大,你可能想要流式傳輸。

您是否曾嘗試將Accept-RangesContent-Range標題添加到您的回覆中?例如,請參閱this問題的答案。

0

這似乎是一個known bug谷歌瀏覽器。