아래에서는 네이티브 JS를 사용하여 웹 모바일 뮤직 플레이어에서 가사 동기화 재생을 구현하는 예를 공유하겠습니다. 이는 좋은 참조 가치가 있으며 모든 사람에게 도움이 되기를 바랍니다.
정리해 두었는데 매번 누락될 때마다 생각을 정리하고 단서를 정리하느라 시간이 많이 걸렸습니다
//获取歌词文本 var txt = document.getElementById("lrc"); var lrc = txt.value;//获取文本域里的值 /*console.log(lrc);*/ var lrcArr = lrc.split("[");//去除[ /*console.log(lrcArr);*/ var html = "";//定义一个空变量保存文本 for(var i=0 ; i<lrcArr.length ; i++) { var arr = lrcArr[i].split("]"); /*console.log(arr[1]);*/ var allTime = arr[0].split("."); var time = allTime[0].split(":"); //获取分钟 秒钟 把时间换算成秒钟 var timer = time[0]*60 + time[1]*1; var text = arr[1]; if(text) { html += "<p id="+timer+">"+text+"</p>" } con.innerHTML = html <pre class="html" name="code">}
实现歌词同步首先要获取到文本框 再配合H5中新增的属性如图 其实很简单啦!
//监听音乐播发进度实现歌词同步 myMusic.addEventListener("timeupdate",function(){ //获取当前播放时间 var curTime = parseInt(this.currentTime); if(document.getElementById(curTime)) { for(var i=0 ; i<oP.length ; i++) { oP[i].style.cssText = "color:#ccc;font-size:12px;"; } document.getElementById(curTime).style.cssText="color:rgb(242,110,111);font-size:18px;"; if (oP[num+7].id == curTime)//判断成功一次num++ { con.style.top = -20*num +"px"; num++; } } });
위는 여러분을 위해 정리한 것입니다. . 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
JS에서 Map과 ForEach의 차이점은 무엇입니까?
axios를 사용하여 가져오기 메서드를 캡슐화하고 호출
위 내용은 네이티브 JS에서 뮤직 플레이어를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!