2012-01-05 77 views
0

我遇到了AUDIO標記問題。我有一個HTML頁面(帶有JavaScript),其中4個聲音文件連續播放。在iOS 5和最新的Safari瀏覽器中,事情起到了很好的作用,但在4.3(.2)中卻無法正常工作。iOS(4.3)Safari瀏覽器問題(多個文件)

以下是我嘗試過的很多解決方案。應該注意的是,在頁面上播放一個聲音文件不是問題。我的大部分頁面都在頁面加載時播放語音​​播放音頻,並且工作正常。

所有的以下方法在5.0完美地工作和最新的桌面Safari瀏覽器,只是沒有在的iOS 4.3模擬器/設備:

1)有一個隱藏的div,設置的innerHTML =用適當的SRC文件的標籤
1a)中onended - 明確的div的innerHTML,負載下一個音頻文件
1b)中的setTimeout,延遲每個文件之間2秒(這是1秒長),然後加載下一個聲音
2)隱藏的div,設置的innerHTML = 4個音頻標籤
2a)onended - .play()下一個音頻文件
2b)setTimeout - .play()next與EMBED
4)代替音頻文件
3)與對象只
5)所使用的JavaScript替代:
一個新=音頻(SRC); a.play();
該行爲最好被描述爲「不吉利」。有時候只會播放1個聲音,其他兩個會播放,很少3.有時第一個會重複4次(而調試顯示4個不同的聲音應該播放)
我的最終目標是隨機播放4個聲音連續播放。

回答

2

好像如果我做的一切與1個JavaScript的音頻控制,東西更好地工作......

我創建了一個全球性的音頻控制:

var a=new Audio(); 

每當我想打一個聲音我做:

a.pause(); 
a.src='newfile.m4a'; 
a.play(); 
+0

這是一種更簡潔的實現音頻的方式,無需在頁面中嵌入聲音。如果有一些可以播放的聲音,則會產生很大的差異。可能會遇到大音頻文件的可用性問題,或者如果用戶的Internet連接速度很慢, – Jestep 2012-01-16 20:54:44