我正在编写一个应用程序,将歌曲加载到html音频标签中,并在顶部显示HighCharts图表,用户可以根据歌曲进行操作以提供反馈。我控制图表形成音频标签,反之亦然。
通过控制我的意思是当歌曲开始播放时,图形开始填充点,当歌曲暂停图表的人口暂停时。当我从音频标签中搜索歌曲时,添加点的位置也会发生变化。我正在使用HighCharts中的click事件将歌曲的当前时间设置为x轴的值,因为x轴表示以秒为单位的歌曲持续时间。请参阅下面的图片以获得澄清。
我的问题来自于一些歌曲可以搜索而其他歌曲不可寻找的事实。我在Chrome中运行该应用。当我在Firefox中运行它时,问题不存在。所有歌曲都可以搜索到。
我设法注意到的是
track.seekable.end(0)
如果出现问题,始终返回0,如果问题不存在,则始终返回歌曲的长度。所有曲目的长度不超过4分钟,不超过6兆字节。
在轨道中搜索我正在使用的图表
click: function(event) {
track.currentTime = parseInt(event.xAxis[0].value/1000);
}
答案 0 :(得分:1)
我找到了答案。我在后端使用django,我忘记在我的问题中提到。问题来自django服务器的开发版本。 django.views.static.serve中不支持字节范围请求。
可以使用here中的代码或通过代理服务器运行您的应用来解决此问题。第一个修复程序并不是那么令人满意,因为这会更改核心django文件,并且如果它们没有相同的代码,则无法解决在同一个应用程序上工作的其他开发人员的问题,因此第二个修复程序是首选。
请记住,问题仅存在于开发人员而非生产环境中。