是什么原因导致Safari中音频播放缓慢/延迟? [英] What's causing this slow/delayed audio playback in Safari?

查看:74
本文介绍了是什么原因导致Safari中音频播放缓慢/延迟?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

var audio = new Audio('data:audio/wav;base64,UklGRoABAABXQVZFZm10IBAAAAABAAEAiBUAAIgVAAABAAgAZGF0YVwBAACHlqa1xNLg7vv/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Tk1LSklHRkVEQ0JBQD8+Pj08PDs6Ojk5OTg4ODg3Nzc3Nzc3Nzc3Nzc3Nzg4ODg5OTk6Ojs7Ozw8PT4+P0BAQUJCQ0RFRUZHSElJSktMTU5OT1BRUlNUVVVWV1hZWltcXV1eX2BhYmNkZGVmZ2hpaWprbG1ubm9wcXFyc3R0dXZ3d3h5eXp6e3x8fX1+f3+AgIGBgoKCg4OEhISFhYWGhoaHh4eHh4iIiIiIiIiIiIiIiIiIiIiIiIiIiIeHh4eHhoaGhYWFhISEg4OCgoGBgIA=');

setInterval(function() {
    audio.play();
}, 50);

此代码在Chrome和Firefox中可以正常工作,但是在Safari中,每种声音之间的延迟都超过一秒钟.据我所知,没有兼容性问题,我不知道为什么会这样.我想在正在制作的游戏中的准确时间和合理的延迟时间播放声音,如何使它正常工作?

This code works correctly in Chrome and Firefox, but in Safari there's a delay of over a second between each sound. I can't figure out why this would be, as far as I can tell there are no compatibility issues. I want to play sounds at a precise time and at a reasonably fast delay in a game that I'm making, how can I get this working?

推荐答案

我不知道为什么,但是添加AudioContext可以消除延迟.

I have no idea why, but adding AudioContext removes the delay.

const AudioContext = window.AudioContext || window.webkitAudioContext;
const audioCtx = new AudioContext();

偶然发现,对我有用.走吧.

Found out by accident, works for me. Go figure.

Safari版本12.0(14606.1.36.1.9).

Safari version 12.0 (14606.1.36.1.9).

这篇关于是什么原因导致Safari中音频播放缓慢/延迟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆