请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

最后一行是不是也永远没法高亮啊

https://img1.sycdn.imooc.com/szimg/5dde900d09bc7cbe10660471.jpg

还有歌词要高亮的切换是不是应该根据歌词的时间开一个定时器切换歌词的高亮会好一点,视频里的歌词根据

onTimeUpdate切换的高亮不准 啊  比如到时间3:30:034有歌词,到这个时间就应该更新到这个时间的歌词才对啊


正在回答

1回答

谢成 2019-11-28 09:45:30

最后一行歌词是可以选中的:

//img1.sycdn.imooc.com//szimg/5ddf253c095c44c906661172.jpg


请仔细观察下歌词和歌曲的关系,最后一句歌词并不一定是歌曲的最后一秒,一般情况下歌曲最后都会有一段是没有歌词的,我任意点了两首歌曲,最后一句歌词都是可以被选中的:

//img1.sycdn.imooc.com//szimg/5ddf259c090d625c06521140.jpg



下一个问题:

//img1.sycdn.imooc.com//szimg/5ddf25fa0952357217640446.jpg

定时器的话,定时时间多少合适呢?这个是不确定的,timeupdate返回的时间是准确的,https://developers.weixin.qq.com/miniprogram/dev/api/media/background-audio/BackgroundAudioManager.onTimeUpdate.html 

//img1.sycdn.imooc.com//szimg/5ddf266c09defe3123281244.jpg

返回的是歌曲进度的时间。



建议把每一次更新的时间和歌词对应的时间自己来对比一下,看下每一句歌词的选中的时间和歌词时间的关系,然后再把自己的代码和课程代码对比一下看下是否哪里写错了。

0 回复 有任何疑惑可以回复我~
  • 提问者 flask #1
    比如最后一句歌词的时间是3:30.000,时间过来3:300.000的时候这个歌词不会高亮,因为你设置的是他的上一句。我这边测试有的歌曲可以,有的不行,可以的是因为最后一句是空白行。老师你这个代码不严谨,还有你上面写的更新歌词高亮是一秒执行一次,所以会存在延迟。我看很多音乐器播放歌词是唱到哪一句哪一句就立马高亮了。你看下这个歌词处理呢https://github.com/ustbhuangyi/lyric-parser/blob/master/src/index.js
    回复 有任何疑惑可以回复我~ 2019-11-28 21:54:21
  • 提问者 flask #2
    咋不回复啊
    回复 有任何疑惑可以回复我~ 2019-12-02 22:01:41
  • 谢成 回复 提问者 flask #3
    课程中是设置的1s一次,这里会有些不严谨。可以把这个1s的限制去掉,就是实时来比较,也可以,这样应该就是准确的了。
    回复 有任何疑惑可以回复我~ 2019-12-04 17:04:19
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信