HTML5网络音频搜索到缓冲源

时间:2014-03-21 10:19:44

标签: html5 audio web-audio

我有网络应用程序(类似于卡拉OK),用户可以将其声音录制在乐器上。 录制后用户播放录制内容。在这里,我使用网络音频API播放<audio>标签和语音。要在播放/暂停时同步两个音频我像这样计算时间

pausedAt = Date.now() - startedAt;
startedAt = Date.now() - pausedAt;

这很好用。问题是当用户使用音频标签上的滑块向前/向后移动时。我正在考虑像这样的解决方案

  • 使用ontimeupdate事件,停止语音,然后使用startAt(currentTime)其中currentTime是音频标签中的乐器演奏。

由于api中没有seekTo函数,我必须停止然后启动音频。有没有更好的解决方案?

我面临的第二个问题是寻求音频标签不顺畅。如果我随意点击进度条有时它不起作用。当我在开发人员工具窗口中看到网络选项卡时,我看到了图像中显示的内容。它发出大约600个请求和一些86 MB数据下载,而文件大小小于10 MB。 enter image description here

1 个答案:

答案 0 :(得分:2)

您真的应该使用Web Audio API来执行此操作。永远不会给你精确的同步,它将依赖于流媒体搜索 - 这将导致额外的下载,如你所见。只需通过XHR和decodeAudioData加载歌曲,并提供自己的播放控件。