2014-01-09 161 views

回答

5

同步播放多個音頻或視頻對象的正確方法是使用mediagroup屬性和相應的MediaController對象。見文章"HTML5 multi-track audio or video"

[A] n的屬性稱爲@mediagroup可以在標記中被添加到從多個媒體元素在一起。這是通過一個MediaController對象在JavaScript API中進行管理的,該對象爲組合的多軌對象提供事件和屬性。

將兩個音頻文件都設置爲一個mediagroup。將媒體元素分配給mediagroup時,將爲該組創建MediaController。在該控制器上使用play()方法,並且該組中的所有媒體元素將同步播放。

編程,您可以在MediaController從從媒體元素中的任何一個分配mediagroup像這樣,然後從該點觸發play(),就像這樣:

sound1 = new Audio('sound1.mp3'); 
sound2 = new Audio('sound2.mp3'); 
sound1.mediaGroup = 'soundGroup'; 
sound2.mediaGroup = 'soundGroup'; 
sound1.controller.play(); 

(來源:w3school.com的HTML音頻/視頻DOM mediaGroup Property pagecontroller Property pageplay() Method pagethe standard

注:我沒有測試上面的代碼;請,如果您可以確認此代碼不符合標準並且不能按預期運行,請告訴我們。請注意,您正在尋找HTML5標準的一個非常新的方面,並且這種情況下,不期望廣泛的瀏覽器兼容性。 (截至2014年1月)

+0

感謝您的分享!嘗試了代碼,但我發現在任何主要瀏覽器都不支持conroller – spyfx

+1

您不需要控制器元素。只是'sound1.play();' –

+0

對此有何更新? –