html5 / javascript音频可同时播放多个曲目
作者:互联网
是否可以同时播放整个音频实例?
我知道,我可以每次创建一个新实例并在每个实例上调用.play(),但是我认为它很脏.
喜欢
sound1 =新的Audio(‘sound1.mp3’);
sound2 =新的Audio(‘sound2.mp3);
sound1.play();
sound2.play;
其与该线程大致相同:Play multiple sound at the same time
但是必须有一种优雅的方式吗?
解决方法:
编辑:MediaController和mediagroup原来是水蒸气.至少目前,您将要坚持“肮脏”的方式,因为还没有官方的同步解决方案.
同步播放多个音频或视频对象的正确方法是使用mediagroup属性和相应的MediaController对象.请参阅文章“HTML5 multi-track audio or video”:
[A]n attribute called 07001 can be added in markup to slave multiple media elements together. This is administrated in the JavaScript API through a 07002 object, which provides events and attributes for the combined multi-track object.
将两个音频文件都设置为一个媒体组.将媒体元素分配给媒体组后,将为该组创建MediaController.在该控制器上使用play()方法,该组中的所有媒体元素将同步播放.
通过编程,您可以像这样分配一个媒体组,然后从任意一个从属媒体元素中,从那一点触发MediaController上的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 page、controller Property page、play() Method page和the standard)
注意:我还没有测试上面的代码;请,如果您可以确认此代码不符合标准并且不能按预期运行,请告诉我们.请注意,您正在查看HTML5标准的一个非常新的方面,在这种情况下,不要期望广泛的浏览器兼容性. (截至2014年1月)
标签:html5,web-audio,audio,javascript,jquery 来源: https://codeday.me/bug/20191030/1964492.html