gpt4 book ai didi

javascript - 媒体资源 http ://url/audio/file. mp3 有时无法解码

转载 作者:行者123 更新时间:2023-11-30 16:51:35 24 4
gpt4 key购买 nike

所以我有多个音频文件,一些在 .ogg 中,一些在 .mp3 中。

我有一个变量

var music = [new Audio("audio/song1.mp3"),
新音频(“音频/歌曲2.mp3”),
新音频(“音频/song3.mp3”),
新音频(“音频/song4.mp3”),
新音频(“音频/song5.mp3”),
新音频(“音频/song6.mp3”),
新音频(“音频/song7.ogg”)
];

我循环播放歌曲,有时它们可​​以正常加载和播放,有时它们会收到错误消息 Media resource http://url/audio/file.mp3 could not be decoded.

每首歌曲都曾在某个时刻奏效,而每首歌曲都曾在某个时刻不奏效。平均而言,每次刷新页面时,有 .5 首歌曲未被解码且不播放(重启服务器似乎没有效果)。最少 0 首歌曲未解码,最多 3 首歌曲未解码。

我循环遍历数组并在每个音频上调用 load(),然后在当前运行的音频上调用 pause(),然后 播放() 就下了。我在 play() 上收到错误。

Firefox 和 Chrome 中的行为相同。

有什么想法吗?

最佳答案

当我尝试在同一个网站中创建和/或播放许多音频对象时,我遇到了同样的问题。特别是在 Firefox 中。我的电脑(安装了 Apache 来为网站和音频文件提供服务)只有 2 GB 的 RAM。

音频文件没问题,开始时可以在浏览器中很好地播放。但是似乎内存有问题,不知何故,当到达某个点时,浏览器只会抛出该错误并且不会解码任何音频对象,除非您让它有时间喘息并恢复其内存。要在失败之前增加您可以创建/播放的音频文件的数量,您可以在一个“new Audio(...)”(和/或调用 play() 方法)和另一个之间添加一些时间。但是这个技巧只是为了添加/播放更多的文件,因为当您创建/播放的音频对象达到一定数量时,您以后的某个时候仍然会遇到同样的问题。

至少在 Firefox 中,如果您坚持只使用数据 URI 而不是实际文件路径,则可以改善这种情况。这应该可以让您创建/播放更多的音频对象。但我不喜欢这种解决方案,因为并非所有浏览器都支持数据 URI。

如果有人有更好的解决方案,我将很高兴听到。我也在等待更好的答案,因为我遇到了同样的问题,但我在整个互联网上找不到任何解决方案。

关于javascript - 媒体资源 http ://url/audio/file. mp3 有时无法解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447464/

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