我们正在为Ipad开发一个Javascript Web应用程序,它需要在加载之前预先加载声音。我们不知道用户在点击练习之前需要什么样的声音,然后他们需要在练习开始之前预先加载多个声音。
我知道没有预加载方法,并且下载需要绑定到直接点击/点击事件。我们花了相当多的时间尝试在每次点击(加载虚拟声音)时动态添加媒体元素的多种组合,然后尝试将它们与我们当时需要的mp3交换。
我们放弃了这种方法,并认为我们可以将声音加入到一个文件中并将播放头移动到所需的范围(包含在JSON文件中)。我们在桌面上成功运行了这个,但我们无法在Ipad上进行,因为我们不知道声音何时完全下载。
即使用户启动要播放的声音,设备也无法检查声音何时完全下载。实际上,除非正在播放,否则它不会下载整个文件。我们发现,除非游戏头以线性方式到达终点,否则我们无法始终如一地获得持续时间。我们已经尝试根据自己的持续时间检查buffered.start()和buffered.end()属性(我们一直有JSON文件)但是一旦我们尝试设置audioElement.currentTime和stopTime,它就会播放整个声音从头到尾。
我们发现可搜索的属性也不可靠。
我们现在正在使用ios5,我相信旧版本在持续时间属性方面的工作方式不同。
有没有人能够让这个工作?