Javascript 困惑的尝试以尽可能快的方式播放MP3元数据,最好不要使用额外的lib

Javascript 困惑的尝试以尽可能快的方式播放MP3元数据,最好不要使用额外的lib,javascript,jquery,html,jquery-ui,Javascript,Jquery,Html,Jquery Ui,我搜索了谷歌,这里,HTML5Rocks等等。。。 无论我看哪里,我都会得到半个答案,或者告诉我使用一些其他冗长的lib,这些lib甚至不适用于我正在尝试做的事情 我已经制作了一个完整的jQueryUI插件,用于制作一个简单的音频播放器,最后一步是从如下选项填充播放列表: playlist: [ '<?= base_url("audio/samp/Kalimba.mp3"); ?>', '<?= base_url("audio/samp/Maid_with_th

我搜索了谷歌,这里,HTML5Rocks等等。。。 无论我看哪里,我都会得到半个答案,或者告诉我使用一些其他冗长的lib,这些lib甚至不适用于我正在尝试做的事情

我已经制作了一个完整的jQueryUI插件,用于制作一个简单的音频播放器,最后一步是从如下选项填充播放列表:

playlist: [
    '<?= base_url("audio/samp/Kalimba.mp3"); ?>',
    '<?= base_url("audio/samp/Maid_with_the_Flaxen_Hair.mp3"); ?>',
    '<?= base_url("audio/samp/Sleep_Away.mp3"); ?>'
]
在插件中,我有如下内容:

for (x in ele.playlist) { 
    //  get meta data for song title, artist, album, & length 
    //  so I can add it to button inside li
    //  example: in a callback where param for AudioContext is audon
    //  audcon.button() // call to saved jQuery object of list item button
    //      .prepend($("<p /">).text(dataReturned.songTitle))  //  add element to button with text of song title
}
当然,我发现问题的一部分是,这个for循环的运行速度比读取文件所需的时间要快,我认为只要我可以使用回调就没有问题。例如,使用HTML5,我将按钮html作为属性添加到AudioContext中,这样当它完成阅读时,我就可以轻松访问duration所属的li按钮

谁能给我一个简单明了的例子来说明如何实现我想要的,因为我所做的一切都没有让我成功


我发现了如何使用HTML5获取每首歌曲的持续时间,并在加载后使用回调在每个按钮中输入持续时间,但持续时间并不能真正告诉用户加载的歌曲有多长,哈哈。

$list是PHP-这里面有服务器脚本吗?也许包括你所有的代码会有帮助。@Anna Billstrom不,我只是用$s作为临时变量的标记,我也会更改名称later@AnnaBillstrom$list也是一个非常有效的JS变量名:但是你是对的,OP显然是在使用php来回显mp3文件的基本url。我从来没有在JS/PHP中尝试过这样做,但是我将使用+1,因为它非常有趣并且应该是可能的?在基本问题上仍然困惑。要提取MP3元数据,而不使用外部库,您需要自己编写一个这样的库。。。我想你是在和风车作战。HtmlLaudio元素不公开所有这些信息。让你的libs在服务器端工作,这才是你真正的问题,对吗?