Heim Web-Frontend js-Tutorial Erstellen Sie einen Musikplayer mit nativem JS

Erstellen Sie einen Musikplayer mit nativem JS

Apr 17, 2018 pm 02:26 PM
javascript 播放器 音乐

Dieses Mal bringe ich Ihnen ein natives JS zum Erstellen eines Musikplayers. Was sind die Vorsichtsmaßnahmen für das Erstellen eines nativen JS zum Erstellen eines Musikplayers? Schauen Sie mal rein.

Vorwort  

Ich habe kürzlich JS rezensiert und finde, dass Musikplayer ziemlich interessant sind. Heute werde ich unser nativstes JS verwenden, um einen kleinen Musikplayer zu schreiben~

Hauptfunktionen:

1. Unterstützt Schleife und Zufallswiedergabe

 2. Unterstützt die Bilddrehung während der Wiedergabe

3. Klicken Sie auf den

Fortschrittsbalken , um die Wiedergabeposition und Lautstärke anzupassen

4. Zeigen Sie die Musikwiedergabezeit an

5. Unterstützt das Wechseln von Liedern: vorheriges Lied, nächstes Lied, klicken Sie auf den Liedtitel, um die Wiedergabe anzuhalten usw. ~

Es gibt zwei Möglichkeiten, Musik hinzuzufügen:

① Sie können ein Audio-Tag verwenden, sodass die Adresse der Musik in einem Array

gespeichert werden soll ②Die zweite Möglichkeit besteht darin, ein paar Audio-Tags hinzuzufügen, wenn mehrere Lieder vorhanden sind, und dann die gesamte Hintergrundmusik abzurufen (im Beispiel fügen wir zuerst drei Musikstücke hinzu und fügen sie in ein Array ein. Natürlich können Sie jedes beliebige Lied auswählen du magst.

<audio id="play1">
   <source src="auto/旅行.mp3"></source>
</audio>
<audio id="play2">
   <source src="auto/薛明媛,朱贺 - 非酋.mp3"></source>
</audio>
<audio id="play3">
   <source src="auto/杨宗纬 - 越过山丘.mp3"></source>
</audio>
Nach dem Login kopieren
play1=document.getElementById("play1");
play2=document.getElementById("play2");
play3=document.getElementById("play3");
play=[play1,play2,play3];
Nach dem Login kopieren

1 Klick zum Abspielen, Pause

Das erste, worüber wir uns im Klaren sein sollten, ist, dass beim Klicken auf die Schaltfläche zum Spielen Folgendes erreicht werden sollte:

①Die Musik beginnt zu spielen

②Der Fortschrittsbalken beginnt sich vorwärts zu bewegen, während das Lied abgespielt wird

③Das Bild beginnt sich zu drehen, während das Lied abgespielt wird

④Die Wiedergabezeit beginnt

Dementsprechend können wir die Wiedergabe pausieren lassen, wenn wir erneut auf die Wiedergabetaste klicken:

①Lied pausiert;

② Halten Sie gleichzeitig den Fortschrittsbalken an

③ Unterbrechen Sie gleichzeitig die Wiedergabezeit

④Das Bild hört auf, sich zu drehen

Hinweis: Die oben genannten Start- und Pausenvorgänge müssen synchronisiert werden!

Nachdem wir unsere Ideen geklärt haben, können wir sie einzeln umsetzen~

Klicken Sie auf Wiedergabe/Pause

 //点击播放、暂停
  function start(){
   minute=0;
    if(flag){
      imagePause();
      play[index].pause();
     }else{
      rotate();
      play[index].play();
      reducejindutiao();
      addtime();
      jindutiao();
      for (var i=0;i<play.length;i++) {
        audioall[i].style.color="white";
         }
      audioall[index].style.color="red";
     }
 }
Nach dem Login kopieren
Da sich „Wiedergabe“ und „Pause“ auf derselben Schaltfläche befinden, werden die oben genannten Methoden aufgerufen. Werfen wir einen detaillierten Blick darauf, welche Funktionen jede Funktion implementiert:

Bilddrehung

//图片旋转,每30毫米旋转5度
  function rotate(){
    var deg=0;
    flag=1;
    timer=setInterval(function(){
    image.style.transform="rotate("+deg+"deg)";
      deg+=5;
       if(deg>360){
        deg=0;
        }
    },30);
 }
Nach dem Login kopieren
Das Obige ist die Funktion zum Drehen des Bildes, wenn die Musik abgespielt wird.

Dieselbe Funktion löscht den

-Timer . Wenn die Musik angehalten wird, wird imagePause() aufgerufen und der Bildrotations-Timer gelöscht:

function imagePause(){
    clearInterval(timer);
    flag=0;
 }
Nach dem Login kopieren
Auf diese Weise haben wir die Funktion der Bilddrehung bereits implementiert~

Fortschrittsbalken

Definieren Sie zunächst zwei Ps mit derselben Breite, Länge und unterschiedlichen Farben. Verwenden Sie das Attribut

aktuelleZeit, um die aktuelle Wiedergabezeit auf Null zu setzen, und verwenden Sie dann das aktuelle Wiedergabeereignis Durch Anpassen der Länge von p kann der Effekt einer Bildlaufleiste erzielt werden.

function jindutiao(){
   //获取当前歌曲的歌长
   var lenth=play[index].duration;
    timer1=setInterval(function(){
    cur=play[index].currentTime;//获取当前的播放时间
     fillbar.style.width=""+parseFloat(cur/lenth)*300+"px";
      },50)
}
Nach dem Login kopieren
Auf diese Weise ist der Fortschrittsbalken abgeschlossen~

Spielzeit

Auch die Wiedergabezeit von Musik kann jederzeit mit currenttime geändert werden, es ist jedoch zu beachten, dass die Zeiteinheit von currenttime Sekunden ist.

//播放时间
   function addtime(){
      timer2=setInterval(function(){
       cur=parseInt(play[index].currentTime);//秒数
        var temp=cur;
       minute=parseInt(temp/60);
       if(cur%60<10){
       time.innerHTML=""+minute+":0"+cur%60+"";
        }else{
            time.innerHTML=""+minute+":"+cur%60+"";
         }
      },1000);
}
Nach dem Login kopieren

2 Lieder schneidenIch habe zwei Möglichkeiten zum Schneiden von Liedern gewählt:

①Klicken Sie auf die Schaltflächen „Vorheriges Lied“ und „Nächstes Lied“, um zwischen den Liedern zu wechseln

 //上一曲
  function reduce(){
          qingkong();
          reducejindutiao();
          pauseall();
          index--;
          if(index==-1){
            index=play.length-1;
          }
          start();
        }
        //下一曲
        function add(){
          qingkong();
          reducejindutiao();
          pauseall();
          index++;
          if(index>play.length-1){
            index=0;
          }
          start();
        }
Nach dem Login kopieren
②Klicken Sie auf den Songtitel, um zwischen den Songs zu wechseln

 //点击文字切歌
        function change(e){
          var musicName=e.target;
          //先清空所有的
          for (var i=0;i<audioall.length;i++) {
            audioall[i].style.color="white";
            if(audioall[i]==musicName){
              musicName.style.color="red";
              qingkong();
              reducejindutiao();
              pauseall();
              index=i;
              start();
            }
          }
        }
Nach dem Login kopieren
Hinweis: Vergessen Sie beim Songwechsel nicht unseren Fortschrittsbalken!

Löschen Sie den Timer für das Scrollen des Fortschrittsbalkens und stellen Sie dann die Länge von p auf 0 zurück Gleichzeitig stoppt die Musik:

//将进度条置0
 function reducejindutiao(){
     clearInterval(timer1);
      fillbar.style.width="0";
 }
Nach dem Login kopieren
Alle Timer löschen:

 function qingkong(){//清空所有的计时器
    imagePause();
    clearInterval(timer2);
 }
Nach dem Login kopieren

3点击进度条调整播放进度及音量

首先应该理清一下逻辑:当点击进度条的时候,滚动条的宽度应该跟鼠标的offsetX一样长,然后根据进度条的长度来调整听该显示的时间。

(1) 给滚动条的p添加一个事件,当滚动条长度变化的时候歌曲的当前播放的时间调整,300是滚动条的总长度;

//调整播放进度
 function adjust(e){
   var bar=e.target;
   var x=e.offsetX;
   var lenth=play[index].duration;
   fillbar.style.width=x+"px";
   play[index].currentTime=""+parseInt(x*lenth/300)+"";
   play[index].play();
}
Nach dem Login kopieren

(2) 改变音量的滚动条,跟改变播放时间类似,利用volume属性(值为零到一);

 //调整音量大小
  function changeVolume(e){
    var x=e.offsetX+20;
    play[index].volume=parseFloat(x/200)*1;
    //改变按钮的位置
     volume3.style.left=""+x+"px";
}
Nach dem Login kopieren

4随机、循环播放

循环播放音乐的时候,直接index++当index的范围超过歌曲的长度的时候,index=0重新开始。随机播放的函数类似,当歌曲播放完毕的时候,随机产生一个0到play.length的数字就可以了。

 //随机播放歌曲
  function suiji(e){
          var img=e.target;
          img2.style.border="";
          img.style.border="1px solid red";
        }
        //顺序播放
        function shunxu(e){
          var img=e.target;
          img1.style.border="";
          img.style.border="1px solid red";
          clearInterval(suijiplay);
          shunxuplay=setInterval(function(){
            if(play[index].ended){
              add();
            }
          },1000);
        }
Nach dem Login kopieren

这样我们整个音乐播放器就完成了,大家可以自己写一个好看的界面,就更完美了

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Vue中computed属性的使用方法

ajax与跨域jsonp

用requireJS添加返回顶部功能

Das obige ist der detaillierte Inhalt vonErstellen Sie einen Musikplayer mit nativem JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Einführungserlebnis der Bose Soundbar Ultra: Heimkino direkt nach dem Auspacken? Einführungserlebnis der Bose Soundbar Ultra: Heimkino direkt nach dem Auspacken? Feb 06, 2024 pm 05:30 PM

Solange ich mich erinnern kann, habe ich zu Hause ein Paar große Standlautsprecher gehabt. Ich bin der Meinung gewesen, dass ein Fernseher nur dann als Fernseher bezeichnet werden kann, wenn er mit einem kompletten Soundsystem ausgestattet ist. Aber als ich anfing zu arbeiten, konnte ich mir professionelles Home-Audio nicht leisten. Nachdem ich mich erkundigt und die Produktpositionierung verstanden hatte, stellte ich fest, dass die Soundbar-Kategorie für mich sehr gut geeignet ist. Sie erfüllt meine Bedürfnisse in Bezug auf Klangqualität, Größe und Preis. Deshalb habe ich mich für die Soundbar entschieden. Nach sorgfältiger Auswahl habe ich mich für dieses Panorama-Soundbar-Produkt entschieden, das Anfang 2024 von Bose auf den Markt gebracht wurde: den Bose Home-Entertainment-Lautsprecher Ultra. (Fotoquelle: Fotografiert von Lei Technology) Wenn wir den „originalen“ Dolby Atmos-Effekt erleben wollen, müssen wir im Allgemeinen eine gemessene und kalibrierte Surround-Sound-Decke zu Hause installieren.

VLC Chromecast funktioniert nicht auf einem Windows-PC VLC Chromecast funktioniert nicht auf einem Windows-PC Mar 26, 2024 am 10:41 AM

Funktioniert die VLC Chromecast-Funktion auf Ihrem Windows-PC nicht? Dieses Problem kann durch Kompatibilitätsprobleme zwischen Ihrem Chromecast-Gerät und der Casting-Funktion von VLC verursacht werden. In diesem Artikel verraten wir Ihnen, was Sie in dieser Situation tun können und was zu tun ist, wenn der VLC-Renderer Ihren Chromecast nicht finden kann. Wie verwende ich ChromecastVLC unter Windows? Um mit VLC Videos von Windows auf Chromecast zu übertragen, gehen Sie folgendermaßen vor: Öffnen Sie die Media Player-App und gehen Sie zum Wiedergabemenü. Navigieren Sie zur Option „Renderer“ und Sie können das erkannte Chromecast-Gerät sehen

Audacity verfügt jetzt über KI-Audiobearbeitungsfunktionen mit dem Intel OpenVINO-Plug-in Audacity verfügt jetzt über KI-Audiobearbeitungsfunktionen mit dem Intel OpenVINO-Plug-in Feb 15, 2024 am 11:06 AM

Audacity ist eine kostenlose und plattformübergreifende Open-Source-Audiobearbeitungssoftware. Es verfügt über einen offenen Code- und Plug-in-Beitragsmechanismus und jeder kann teilnehmen. Darüber hinaus bietet Intel einen kostenlosen Satz OpenVINOAI-Plug-Ins für Musikredakteure und Podcast-Produzenten an. Diese Website hat festgestellt, dass das Plug-in-Paket etwa 2 GB groß ist und auf der GitHub-Seite von Intel heruntergeladen werden kann. Für die Ausführung ist außerdem die 64-Bit-Windows-Version von Audacity erforderlich. Das Intuitivste an diesem KI-Plug-in ist, dass es drei erweiterte Tools zur Musikbearbeitungsfunktion von Audacity hinzufügt: Das erste ist die Funktion „Musikgenerierung“. Benutzer können Text verwenden, um die gewünschte Musik zu beschreiben, und die KI generiert Musik Clips innerhalb von 60 Sekunden, um Werbung und Filmmusik zu ermöglichen

Der Fortschrittsbalken des Win10-Players bewegt sich nicht Der Fortschrittsbalken des Win10-Players bewegt sich nicht Feb 12, 2024 am 08:12 AM

Die Oktober-Update-Version von Windows 10v1809 steuert ohne zu zögern auf das schlechteste Windows-Upgrade in der Geschichte zu. Sie wurde nicht nur nach ihrer ersten offiziellen Veröffentlichung dringend zurückgezogen, sondern war auch nach einem Monat Neuaufbau immer noch voller Fehler, was die Leute an der Qualität von Microsoft zweifeln ließ Kontrolle. Immer besorgter. Nun steht ein weiterer Fehler auf der Liste, und dieses Mal handelt es sich um Microsofts eigenen Mediaplayer, den Windows Media Player. Kürzlich haben einige Internetnutzer berichtet, dass nach der Installation des neuesten Patches beim Windows Media Player in Windows 10v1809 ein Problem auftritt, bei dem der Wiedergabefortschrittsbalken nicht verschoben werden kann. Es wurde noch keine Lösung gefunden. Microsoft hat einen Fehler bestätigt, der zwei Patches für KB4 betrifft

Auswahl des richtigen Tablets für Musikstudenten Auswahl des richtigen Tablets für Musikstudenten Jan 10, 2024 pm 10:09 PM

Welches Tablet eignet sich für Musiker? Der 12,9-Zoll-Lautsprecher im iPad von Huawei ist ein sehr gutes Produkt. Es verfügt über vier Lautsprecher und die Klangqualität ist ausgezeichnet. Darüber hinaus gehört es zur Pro-Serie, die etwas besser ist als andere Modelle. Insgesamt ist das iPad Pro ein sehr gutes Produkt. Der Lautsprecher dieses Mini4-Mobiltelefons ist klein und die Wirkung ist durchschnittlich. Eine externe Musikwiedergabe ist damit nicht möglich, für den Musikgenuss ist man dennoch auf Kopfhörer angewiesen. Kopfhörer mit guter Klangqualität haben eine etwas bessere Wirkung, aber billige Kopfhörer im Wert von dreißig oder vierzig Yuan können die Anforderungen nicht erfüllen. Welches Tablet sollte ich für elektronische Klaviermusik verwenden? Wenn Sie ein iPad größer als 10 Zoll kaufen möchten, empfehle ich die Verwendung von zwei Anwendungen, nämlich Henle und Piascore. Zur Verfügung gestellt von Henle

So fügen Sie lokale Musik zu Limonadenmusik hinzu So fügen Sie lokale Musik zu Limonadenmusik hinzu Feb 23, 2024 pm 07:13 PM

Wie füge ich lokale Musik zu Soda Music hinzu? Sie können Ihre lokale Lieblingsmusik zur Soda Music APP hinzufügen, aber die meisten Freunde wissen nicht, wie man lokale Musik zu Soda Music hinzufügt Der Herausgeber, interessierte Nutzer kommen vorbei! Anleitung zur Verwendung von Soda-Musik. So fügen Sie lokale Musik zu Soda-Musik hinzu und klicken Sie auf den Funktionsbereich [Musik] unten auf der Hauptseite das Symbol [drei Punkte] in der unteren rechten Ecke; 3. Erweitern Sie abschließend die Funktionsleiste unten und wählen Sie die Schaltfläche [Herunterladen], um es zur lokalen Musik hinzuzufügen.

Detaillierte Schritte zum Ansehen Ihrer Lieblingsmusik auf Douyin Detaillierte Schritte zum Ansehen Ihrer Lieblingsmusik auf Douyin Mar 26, 2024 pm 06:20 PM

1. Klicken Sie auf [+]. 2. Klicken Sie oben auf [Musik auswählen]. 3. Klicken Sie auf [Meine Favoriten]. Methode 2: 1. Öffnen Sie Douyin und klicken Sie auf [Ich]. 2. Klicken Sie neben dem Avatar auf [Sammeln]. 3. Klicken Sie auf [Musik]

So spielen Sie Musik auf WeChat ab So spielen Sie Musik auf WeChat ab Feb 23, 2024 pm 09:28 PM

Wie spiele ich Musik auf WeChat ab? Sie können Ihre Lieblingsmusik auf der WeChat-App abspielen, aber die meisten Freunde wissen nicht, wie sie ihre Lieblingsmusik auf WeChat abspielen sollen. Als nächstes folgt das grafische Tutorial zum Abspielen von Musik auf WeChat. Interessierte User kommen vorbei und schauen vorbei! Tutorial zur WeChat-Nutzung: So spielen Sie Musik auf WeChat ab 1. Öffnen Sie zuerst die WeChat-APP, wischen Sie von oben nach unten, um die Miniprogrammseite aufzurufen. 2. Klicken Sie dann auf [Musik], wie im Bild unten gezeigt Geben Sie in der unten gezeigten Benutzeroberfläche das Suchfeld ein. Geben Sie Ihren Lieblingsliedtitel ein. 4. Wählen Sie abschließend den entsprechenden Liedtitel aus und klicken Sie, um das Lied abzuspielen.

See all articles