【问题标题】:Load audio in myltiple time in HTML 5 with javascript使用 javascript 在 HTML5 中多次加载音频
【发布时间】:2016-06-02 18:04:20
【问题描述】:

我做了一个在线音频播放器。很好,但是在慢速互联网上开始播放音频需要花费太多时间。在这里我可以做些什么来解决这个问题吗?

我可以设置任何加载时间吗?就像起初音频将在前 10 秒加载。当前 10 秒加载时,播放器将开始播放。当它播放前 10 秒时,播放器将在接下来的 10 秒加载。?我可以吗?

var audio = new Audio();
audio.src ="dir/music.mp3";
audio.loop = true;
audio.autoplay = true;

这是我当前的代码。请帮我。谢谢

【问题讨论】:

  • 提供低比特率版本的音乐。您可以通过 XHR 加载虚拟文件并测量字节/时间来估计加载时间。如果低于预定义的阈值,则源默认为低比特率版本。

标签: javascript html audio


【解决方案1】:

我认为最好的方法是使用质量较低的 .mp3 文件 (192kbps)? 玩完前 10 秒后,您永远无法确定接下来的 10 秒是否会被加载。

【讨论】:

  • 但它是一个mp3音频歌曲播放网站,所以不能使用低质量文件。一个文件应该 23 分钟或更长时间
  • 这首歌的长度是多少?也许您可以将一首 30 分钟的歌曲切成 1 分钟的片段并制作一个播放列表? .mp3 具有不同的质量,例如 192kbps 或 320kbps(以及介于两者之间和之前的所有内容)。对于这样的网站,192kbps 仍然可以接受,您可以添加一个高质量的下载按钮。
  • 说说如何制作1分钟的片段
  • EDIT 您可以在我的意思的音频程序中手动剪切音频。哇,好长:s。我使用标准的 HTML,就我而言它是预加载的。无法帮助您,对不起,伙计:s
【解决方案2】:

浏览器决定他将预加载多少。您可以这样:在 HTML 完全加载后强制浏览器播放音频。

 window.onload = function() {
        document.getElementById("my_audio").play();
    }

但慢速连接​​并不是你唯一的敌人。如果浏览器/PC 速度较慢,则可能需要更长时间,因为它必须加载和解码音频。最好的选择是使用质量较低的音频。因此它可以更快地加载和处理它。如果您使用 HTML5 音频标签,请确保使用 preload="auto"。

<audio preload="auto">

要制作高级音频内容,您必须使用低级音频框架等,以便更好地控制事物的工作方式。

.wav 的解码速度也比 .mp3 快。

【讨论】:

  • WAV 也比 mp3 大 10 倍左右。今天即使在慢速 CPU 上解码 mp3 也不是什么大不了的事。
  • 当我在我的 Phaser 游戏中使用 mp3 时,我的音乐延迟真的很烦人,用 wav 很好。所以解码甚至对我或多或少的高端硬件都有影响。也许解码器是唯一的原因。我不知道。
猜你喜欢
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多