ホームページ  >  記事  >  ウェブフロントエンド  >  ネイティブJSで音楽プレーヤーを実装する方法

ネイティブJSで音楽プレーヤーを実装する方法

亚连
亚连オリジナル
2018-06-08 13:41:372474ブラウズ

以下に、ネイティブ JS を使用して Web モバイル音楽プレーヤーで歌詞の同期再生を実装する例を紹介します。これは非常に参考になるものであり、皆さんの役に立つことを願っています。

これまで何度か書きましたが、毎回抜けていて、今日は長い時間をかけて考えを整理し、手がかりを整理しました

//获取歌词文本 
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++; 
    } 
  } 
});

以上が、私が皆さんのためにまとめたものです。 . 今後も皆様のお役に立てれば幸いです。

関連記事:

vueでページ読み込みプログレスバーコンポーネントを実装する方法

JSのMapとForEachの違いは何ですか?

axios を使用してフェッチメソッドをカプセル化し、呼び出します

以上がネイティブJSで音楽プレーヤーを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。