var audio = new Audio('data:audio/wav;base64,UklGRoABAABXQVZFZm10IBAAAAABAAEAiBUAAIgVAAABAAgAZGF0YVwBAACHlqa1xNLg7vv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Tk1LSklHRkVEQ0JBQD8+Pj08PDs6Ojk5OTg4ODg3Nzc3Nzc3Nzc3Nzc3Nzg4ODg5OTk6Ojs7Ozw8PT4+P0BAQUJCQ0RFRUZHSElJSktMTU5OT1BRUlNUVVVWV1hZWltcXV1eX2BhYmNkZGVmZ2hpaWprbG1ubm9wcXFyc3R0dXZ3d3h5eXp6e3x8fX1+f3+AgIGBgoKCg4OEhISFhYWGhoaHh4eHh4iIiIiIiIiIiIiIiIiIiIiIiIiIiIeHh4eHhoaGhYWFhISEg4OCgoGBgIA=');
setInterval(function() {
audio.play();
}, 50);
此代码在 Chrome 和 Firefox 中可以正常工作,但在 Safari 中,每个声音之间有超过一秒的延迟。我不明白为什么会这样,据我所知不存在兼容性问题。我想在我正在制作的游戏中以精确的时间和相当快的延迟播放声音,我怎样才能做到这一点?
我不知道为什么,但添加 AudioContext 可以消除延迟。
const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioCtx = new AudioContext();
偶然发现的,对我有用。去搞清楚。
Safari 版本 12.0 (14606.1.36.1.9)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)