昨天看到有朋友在论坛上发帖问JavaScript如何播放MP3歌词同步显示兴趣使然,下午捣鼓了下.现在做好了分享给大家.原理很简单,就是通过播放器的时间跟歌词里面的时间进行比较,如果相同就显示歌词.然后就是怎样存放歌词了.我的思路就是把每句话push到数组里面去,然后通过数组索引来获取歌词播放器组件我用media player,因此网页只能用IE浏览器打开下面是效果图:画面有点搓,只能一句句显示,还没有精细到字扫描.目前还没什么思路... 不过将就下啦.下载地址

解决方案 »

  1.   

    下载地址更新了
    http://d.download.csdn.net/down/2906207/thc1987
      

  2.   

    谈下我自己吧.
    我是先看了下<JavaScript高级程序设计> 然后在看<JavaScript设计模式> 
    感觉JavaScript在面向对象方面挺好玩的
      

  3.   

    楼主你……太憨厚了。几K的JS,却搭配个4M的歌曲文件。
    你把你所依照的歌曲文件的URL写在程序注释里就可以了嘛。
    另外,就是你这个LRC.JS,思路不好:
    1,格式特异,不是随便的LRC文件拿来就能用,必须改造。
    2,既然格式特异了,干嘛不干脆直接放在一个数组里,而要在运行时现去PUSH呢,虽然时间表现上并不会怎么明显,但效率上肯定差一点。从代码量上,那样也比你这样少一些,清晰一些,而且排版方式多了一些选择。好一点的方式,是可以直接操作任意指定的标准LRC文件。把其内容作为一个整串处理,进行字串分割就可以了。至于如何读取LRC文件,方法很多,比如FSO,AJAX,框架等。
      

  4.   

    字扫描,这个的意义有限。拿现在流行的酷我,QQ这样有大背景的软件来说,它们的字扫描也纯是种扯。事实上,由于LRC文件中根本没有那么精细的信息,所以打死它们也算不出真正符合歌曲节律的字扫描进度来。它们只是根据上下两句之间的时间间隔,除以本句的字数,算出每个字的平均时间来。这对竹筒倒豆的歌曲很管用,但对一些韵律宛转点的歌曲,只有钻地缝的份。如果这些厂商真能为此花大力气,把LRC数据精细到文字级别,还是件值得做的提升竞争力的事情。
      

  5.   

    其实我当时的思路是想把歌词部分放在服务端处理,然后返回一个数组形式就可以了LRC.JS也是临时放一下的.
      

  6.   

    ding ding dingding ding ding
      

  7.   

       强势,JavaScript真的是个难点,收藏以后用,谢谢楼主分享
      

  8.   

    酷狗使用的KRC歌词,是精确到帧了
    不仅到字,单个字当中还有快慢也就是卡拉OK的那种
      

  9.   

    楼主   怎么下载不了啊 
    能给我发一份吗?
    [email protected]
    谢谢啊!让我也学习一下吧!
      

  10.   

    thank you for your share!
      

  11.   

    哦,已经做了。KRC这个扩展名似乎看到过,就是没想过看看里面的内容,好奇心不强了,落伍的表现啊。
      

  12.   

    用c++写了一个类 一个成员函数调用pthread_create()生成一个线程,用g++编译器编译可以通过。文件名为serves.cpp
    但,用c写了个函数调用pthread_create()生成一个线程时,不管用g++还是用gcc编译器都编译不过,说:undefined reference to `pthread_create' 文件名不管是client.c还是client.cpp都是报这个错,然后编译时加上-lpthread 命令就可以编译过了。我想知道用类成员函数调用phread_create()时为
      

  13.   

    发我一个493867252qq.com
    搂住好人
      

  14.   

    hao dongxi bi xu ding