原生js实现音乐播放器功能,可以实时显示歌词并且高亮当前句

最近在做项目,总结一下学到的知识,
首先就是一个简单的音乐播放器。可以显示歌词,并且突出显示当前播放的这一句。
但是歌词必须是要转码成utf-8的,不然是乱码,后面提供我淘到的转码工具,非常简单,把下载的lrc格式的歌词文件拖到这个软件上他就提醒你转码完毕,这时候就可以用了。
html,css,js我都放上去,js放到最后,前面两个我就不解释了,各位看官如果想直接看js就拖到最后吧。这是从项目里面提取的代码,用webpack,所以引用什么的就劳烦自己加上去~,具体功能请看html,有的功能还没有做,做了再更新,,,想了想代码还是放在github吧。。。代码有点长na~
简单粗暴先看一下效果图。
一首分手快乐送给大家
这里写图片描述
这里写图片描述
我的资源页,不知道可不可以打开((/ □ ))传送门

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
实现一个原生JavaScript音乐播放器搜索功能可以按照以下步骤进行: 1. 定义一个搜索框,用于用户输入歌曲名称或歌手名称。 ```html <input type="text" id="searchInput" placeholder="Search..."> ``` 2. 获取搜索框中的输入内容。 ```javascript const searchInput = document.getElementById("searchInput"); const searchText = searchInput.value; ``` 3. 遍历歌曲列表,查找包含搜索内容的歌曲,并将其显示在页面上。 ```javascript const songs = [ { title: '歌曲1', artist: '歌手1', src: 'song1.mp3' }, { title: '歌曲2', artist: '歌手2', src: 'song2.mp3' }, { title: '歌曲3', artist: '歌手3', src: 'song3.mp3' } ]; const searchSongs = (searchText) => { // 遍历歌曲列表,查找包含搜索内容的歌曲 const filteredSongs = songs.filter((song) => { return song.title.includes(searchText) || song.artist.includes(searchText); }); // 清空原来的列表 const songList = document.getElementById("songList"); songList.innerHTML = ''; // 将搜索结果显示在页面上 filteredSongs.forEach((song) => { const li = document.createElement("li"); li.innerHTML = `<span>${song.title}</span><span>${song.artist}</span>`; li.addEventListener("click", () => { playSong(song); }); songList.appendChild(li); }); }; searchInput.addEventListener("input", () => { const searchText = searchInput.value; searchSongs(searchText); }); ``` 4. 在页面中显示歌曲列表。 ```html <ul id="songList"> <li><span>歌曲1</span><span>歌手1</span></li> <li><span>歌曲2</span><span>歌手2</span></li> <li><span>歌曲3</span><span>歌手3</span></li> </ul> ``` 完整的代码示例如下: ```html <!DOCTYPE html> <html> <head> <title>Music Player</title> </head> <body> <h1>Music Player</h1> <input type="text" id="searchInput" placeholder="Search..."> <ul id="songList"> <li><span>歌曲1</span><span>歌手1</span></li> <li><span>歌曲2</span><span>歌手2</span></li> <li><span>歌曲3</span><span>歌手3</span></li> </ul> <script> const songs = [ { title: '歌曲1', artist: '歌手1', src: 'song1.mp3' }, { title: '歌曲2', artist: '歌手2', src: 'song2.mp3' }, { title: '歌曲3', artist: '歌手3', src: 'song3.mp3' } ]; const searchInput = document.getElementById("searchInput"); const songList = document.getElementById("songList"); const playSong = (song) => { // 播放歌曲 }; const searchSongs = (searchText) => { // 遍历歌曲列表,查找包含搜索内容的歌曲 const filteredSongs = songs.filter((song) => { return song.title.includes(searchText) || song.artist.includes(searchText); }); // 清空原来的列表 songList.innerHTML = ''; // 将搜索结果显示在页面上 filteredSongs.forEach((song) => { const li = document.createElement("li"); li.innerHTML = `<span>${song.title}</span><span>${song.artist}</span>`; li.addEventListener("click", () => { playSong(song); }); songList.appendChild(li); }); }; searchInput.addEventListener("input", () => { const searchText = searchInput.value; searchSongs(searchText); }); </script> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值