gpt4 book ai didi

javascript - Safari 中的 Web Audio API 质量差和其他问题

转载 作者:行者123 更新时间:2023-11-28 06:42:28 25 4
gpt4 key购买 nike

我正在为我的大学工作使用 Web Audio API 用 HTML 和 JavaScript 构建一个 mp3 播放器。该项目托管在这里:http://proto.atech.tufts.edu/mixer/player.html

在 Firefox 和 Chrome 中一切似乎都运行良好,但 Safari 存在一些重大问题。请随意在您的计算机上试一试,看看我在说什么,但要点是:我在 Safari 中播放了声音(由于使用了 SteroPanner 而不是仅使用 Panner,以前没有发生过这种情况) Node),但是与其他两个浏览器相比,播放效果似乎很差。此外,所有轨道都不会正确静音,并且使用上部 slider 跟踪歌曲非常困惑。我发现这相当令人困惑,因为静音功能完全基于 HTML 元素,并且实际上并未使用 Web Audio API。我的一个想法是首先将音频上传到缓冲区,而不是从 HTML5 音频元素中获取音频,许多教程都建议这样做。我觉得这可能会解决音频播放质量差的问题,但我不相信这有助于解决静音问题。

这是我的 github 存储库:https://github.com/agolin95/tts-mp3-mixer/tree/master

还有其他人遇到过这样的奇怪问题或者有任何想法我可能会错过什么吗?任何帮助将不胜感激!

最佳答案

对于静音/音量,将 GainNode 附加到您的源并使用它而不是 HTMLMediaElement 的 api:

var gainNode = context.createGain();
source.connect(gainNode);

gainNode.gain.value = 1; // full volume
gainNode.gain.value = 0; // muted

而且,是的,将声音文件加载为缓冲区将在浏览器中更可靠地工作,尽管这意味着编写更多代码来控制音频播放。 You can see a basic example of play/pause/currentTime here .

关于javascript - Safari 中的 Web Audio API 质量差和其他问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33674887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com