今天晚上主要更新了一波 奇趣播放器,加入了 destroy
方法,以便在 React 一类的框架页面中“销毁”播放器实例。其实只是去掉了 EventListener 一类的大头,实例对象本身依旧存在(除非你将它赋值为 null
,会更彻底一些)。
在修改代码的过程中,我适当的优化了不少函数的写法,把重复的一些功能(随机数、更新进度条等)进行了封装,并重新规划了他们应该放在的位置上(对象里)。
还记得前几天我发现了一个 Bug,如果使用 remove
方法删除一首歌,而恰巧这首歌就是正在播放的歌曲,就会出现歌词显示功能获取内容失败报错的现象。一番研究后,发现当时的我写的代码还挺牢靠,会对当前播放的歌曲设置一个额外的对象进行存储,只需要修改一行判断条件,就能完美解决这个问题了!(播放过程需要检查下一句歌词是否可展示,曾是通过列表+索引找歌词对象,改成了检查当前播放歌词数组的数量,都可以检测当前歌曲是否存在歌词)
紧接着就是更新「保罗 API Next」项目里面的 React 版本了,这个改动彻底解决了播放器的卸载问题(页面没了,歌曲还能播放),离下一个版本的发布又近了一些!