Maison interface Web js tutoriel Créer un lecteur de musique avec JS natif

Créer un lecteur de musique avec JS natif

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

Cette fois, je vais vous apporter un JS natif pour créer un lecteur de musique. Quelles sont les précautions pour créer un JS natif pour créer un lecteur de musique. Ce qui suit est un cas pratique. jetez un oeil.

Préface  

J'ai récemment examiné JS et je pense que les lecteurs de musique sont assez intéressants. Aujourd'hui, je vais utiliser notre JS le plus natif pour écrire un petit lecteur de musique ~

. Fonctions principales :

1. Boucle de support et lecture aléatoire

 2. Prise en charge de la rotation de l'image pendant la lecture

3. Support en cliquant sur la barre de progression pour régler la position de lecture et le volume

4. Afficher la durée de lecture de la musique

5. Prend en charge le changement de chanson : chanson précédente, chanson suivante, cliquez sur le titre de la chanson pour changer de chanson, etc.~

; Il existe deux façons d'ajouter de la musique :

① Vous pouvez utiliser une balise audio, afin que l'adresse de la musique soit stockée dans un tableau

 ; ②La deuxième façon consiste à ajouter quelques balises audio s'il y a plusieurs chansons, puis à obtenir toute la musique de fond (dans l'exemple, nous ajoutons d'abord trois morceaux de musique et les mettons dans un tableau. Bien sûr, vous pouvez choisir n'importe quelle chanson tu aimes).

<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>
Copier après la connexion
play1=document.getElementById("play1");
play2=document.getElementById("play2");
play3=document.getElementById("play3");
play=[play1,play2,play3];
Copier après la connexion

1 clic pour jouer, mettre en pause

La première chose que nous devons savoir est qu'en cliquant sur le bouton pour jouer, les éléments suivants doivent être obtenus :

①La musique commence à jouer

②La barre de progression commence à avancer au fur et à mesure de la lecture de la chanson

 ; ③L'image commence à tourner pendant la lecture de la chanson

④Le temps de lecture commence

En conséquence, lorsque nous cliquons à nouveau sur le bouton de lecture, nous pouvons le mettre en pause :

① Pause de la chanson ;

② Mettez la barre de progression en pause en même temps

③ Mettez le temps de lecture en pause en même temps

④L'image cesse de tourner

Remarque : Les opérations de démarrage et de pause ci-dessus doivent être synchronisées !

Après avoir clarifié nos idées, nous pouvons les mettre en œuvre une par une~

Cliquez sur lecture/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";
     }
 }
Copier après la connexion

Étant donné que la lecture et la pause sont sur le même bouton, les méthodes ci-dessus seront appelées. Examinons en détail les fonctions implémentées par chaque fonction :

. Rotation des images

//图片旋转,每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);
 }
Copier après la connexion

Ce qui précède est la fonction de rotation de l'image Lorsque la musique joue, appeler la fonction rotate() peut réaliser la rotation de l'image !

La même fonction efface le minuteur Lorsque la musique est en pause, imagePause() est appelée et le minuteur de rotation de l'image est effacé :

function imagePause(){
    clearInterval(timer);
    flag=0;
 }
Copier après la connexion

. De cette façon, nous avons déjà implémenté la fonction de rotation de l'image~

Barre de progression

Définissez d'abord deux p avec la même largeur, la même longueur et des couleurs différentes. Utilisez l'attribut currenttime pour transmettre la durée de lecture actuelle. Définissez la longueur initiale d'un p sur zéro, puis utilisez l'événement de lecture actuel pour. Ajuster la longueur de p peut obtenir l’effet d’une barre de défilement.

function jindutiao(){
   //获取当前歌曲的歌长
   var lenth=play[index].duration;
    timer1=setInterval(function(){
    cur=play[index].currentTime;//获取当前的播放时间
     fillbar.style.width=""+parseFloat(cur/lenth)*300+"px";
      },50)
}
Copier après la connexion

De cette façon, la barre de progression est complétée~

Temps de jeu

La durée de lecture de la musique est également modifiée à tout moment en utilisant l'heure actuelle, mais il convient de noter que l'unité de synchronisation de l'heure actuelle est la seconde.

//播放时间
   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);
}
Copier après la connexion

2 Couper des chansonsJ'ai utilisé deux façons de couper des chansons :

①Cliquez sur les boutons de la chanson précédente et de la chanson suivante pour changer de chanson

 //上一曲
  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();
        }
Copier après la connexion

 ; ②Cliquez sur le titre de la chanson pour basculer entre les chansons

 //点击文字切歌
        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();
            }
          }
        }
Copier après la connexion

Remarque : N'oubliez pas notre barre de progression lorsque vous changez de chanson !

Effacez le minuteur pour le défilement de la barre de progression, puis restaurez la longueur de p à 0

//将进度条置0
 function reducejindutiao(){
     clearInterval(timer1);
      fillbar.style.width="0";
 }
Copier après la connexion

 ; Au même moment la musique s'arrête :

 //音乐停止
   function pauseall(){
        for (var i=0;i<play.length;i++) {
            if(play[i]){
              play[i].pause();
            }
          }
        }
Copier après la connexion

Effacer toutes les minuteries :

 function qingkong(){//清空所有的计时器
    imagePause();
    clearInterval(timer2);
 }
Copier après la connexion

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();
}
Copier après la connexion

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

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

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);
        }
Copier après la connexion

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

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

推荐阅读:

Vue中computed属性的使用方法

ajax与跨域jsonp

用requireJS添加返回顶部功能

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Expérience de lancement de la Bose Soundbar Ultra : le cinéma maison dès la sortie de la boîte ? Expérience de lancement de la Bose Soundbar Ultra : le cinéma maison dès la sortie de la boîte ? Feb 06, 2024 pm 05:30 PM

D'aussi loin que je me souvienne, j'ai eu une paire de grandes enceintes sur pied chez moi. J'ai toujours pensé qu'un téléviseur ne pouvait être appelé téléviseur que s'il était équipé d'un système audio complet. Mais lorsque j’ai commencé à travailler, je ne pouvais pas me permettre un son professionnel à domicile. Après m'être renseigné et compris le positionnement du produit, j'ai trouvé que la catégorie barre de son me convient très bien. Elle répond à mes besoins en termes de qualité sonore, de taille et de prix. J’ai donc décidé d’opter pour la barre de son. Après une sélection minutieuse, j'ai sélectionné ce produit de barre de son panoramique lancé par Bose début 2024 : l'enceinte de divertissement à domicile Bose Ultra. (Source photo : photographié par Lei Technology) De manière générale, si nous voulons expérimenter l'effet Dolby Atmos « original », nous devons installer chez nous un son surround + plafond mesuré et calibré.

VLC Chromecast ne fonctionne pas sur un PC Windows VLC Chromecast ne fonctionne pas sur un PC Windows Mar 26, 2024 am 10:41 AM

La fonctionnalité VLC Chromecast ne fonctionne pas sur votre PC Windows ? Ce problème peut être dû à des problèmes de compatibilité entre votre appareil Chromecast et la fonctionnalité de diffusion de VLC. Dans cet article, nous vous expliquerons ce que vous pouvez faire dans cette situation et que faire si le moteur de rendu VLC ne trouve pas votre Chromecast. Comment utiliser ChromecastVLC sous Windows ? Pour utiliser VLC pour diffuser des vidéos de Windows vers Chromecast, procédez comme suit : Ouvrez l'application Media Player et accédez au menu Lecture. Accédez à l'option Renderer et vous pourrez voir le périphérique Chromecast détecté.

Audacity bénéficie désormais de capacités d'édition audio IA avec le plug-in Intel OpenVINO Audacity bénéficie désormais de capacités d'édition audio IA avec le plug-in Intel OpenVINO Feb 15, 2024 am 11:06 AM

Audacity est un logiciel d'édition audio multiplateforme gratuit et open source. Il dispose d'un code ouvert et d'un mécanisme de contribution de plug-in, et tout le monde peut y participer. De plus, Intel propose un ensemble gratuit de plug-ins OpenVINOAI conçus pour les éditeurs de musique et les producteurs de podcasts. Ce site Web a remarqué que le package de plug-ins fait environ 2 Go et peut être téléchargé sur la page GitHub d'Intel. Il nécessite également la version Windows 64 bits d'Audacity pour fonctionner. La chose la plus intuitive à propos de ce plug-in d'IA est qu'il apporte trois outils avancés à la fonction d'édition musicale d'Audacity : Le premier est la fonction « génération de musique ». Les utilisateurs peuvent utiliser du texte pour décrire la musique qu'ils souhaitent, et l'IA générera de la musique. clips dans les 60 secondes pour faciliter la publicité et la musique de film.

La barre de progression du lecteur Win10 ne bouge pas La barre de progression du lecteur Win10 ne bouge pas Feb 12, 2024 am 08:12 AM

La version mise à jour d'octobre de Windows 10v1809 se dirige sans hésitation vers la pire mise à jour de Windows de l'histoire. Non seulement elle a été retirée en urgence après sa première version officielle, mais elle était encore pleine de bugs après avoir été reconstruite pendant un mois, faisant douter de la qualité de Microsoft. contrôle. Je suis de plus en plus inquiet. Maintenant, il a un autre bug sur sa liste, et cette fois il s'agit du propre lecteur multimédia de Microsoft, Windows Media Player. Récemment, certains internautes ont signalé qu'après l'installation du dernier correctif, Windows Media Player dans Windows 10v1809 rencontrait un problème qui empêchait de faire glisser la barre de progression de la lecture. Aucune solution n'a encore été trouvée. Microsoft a confirmé un bug impliquant deux correctifs pour KB4

Comment ajouter de la musique locale à la musique soda Comment ajouter de la musique locale à la musique soda Feb 23, 2024 pm 07:13 PM

Comment ajouter de la musique locale à Soda Music ? Vous pouvez ajouter votre musique locale préférée à l'application Soda Music, mais la plupart des amis ne savent pas comment ajouter de la musique locale. Voici ensuite le didacticiel graphique sur la façon d'ajouter de la musique locale à Soda Music. l'éditeur. , les utilisateurs intéressés viennent jeter un œil ! Tutoriel sur l'utilisation de la musique soda. Comment ajouter de la musique locale à la musique soda. 1. Ouvrez d'abord l'application soda music et cliquez sur la zone de fonction [Musique] en bas de la page principale. l'icône [trois points] dans le coin inférieur droit ; 3. Enfin, développez la barre de fonctions ci-dessous et sélectionnez le bouton [Télécharger] pour l'ajouter à la musique locale.

Choisir la bonne tablette pour les étudiants en musique Choisir la bonne tablette pour les étudiants en musique Jan 10, 2024 pm 10:09 PM

Quelle tablette convient aux musiciens ? Le haut-parleur de 12,9 pouces de l’iPad de Huawei est un très bon produit. Il est livré avec quatre haut-parleurs et le son est excellent. De plus, il appartient à la série pro, qui est légèrement meilleure que les autres styles. Dans l’ensemble, l’iPad Pro est un très bon produit. Le haut-parleur de ce téléphone mobile mini4 est petit et l'effet est moyen. Il ne peut pas être utilisé pour écouter de la musique en externe, vous devez quand même compter sur des écouteurs pour profiter de la musique. Des écouteurs avec une bonne qualité sonore auront un effet légèrement meilleur, mais des écouteurs bon marché d'une valeur de trente ou quarante yuans ne peuvent pas répondre aux exigences. Quelle tablette dois-je utiliser pour écouter de la musique de piano électronique ? Si vous souhaitez acheter un iPad de plus de 10 pouces, je vous recommande d'utiliser deux applications, à savoir Henle et Piascore. Fourni par Henle

Étapes détaillées pour afficher votre musique préférée sur Douyin Étapes détaillées pour afficher votre musique préférée sur Douyin Mar 26, 2024 pm 06:20 PM

1. Cliquez sur [+]. 2. Cliquez sur [Sélectionner la musique] ci-dessus. 3. Cliquez sur [Mes favoris]. Méthode 2 : 1. Ouvrez Douyin et cliquez sur [Moi]. 2. Cliquez sur [Collecter] à côté de l'avatar. 3. Cliquez sur [Musique]

Comment écouter de la musique sur WeChat Comment écouter de la musique sur WeChat Feb 23, 2024 pm 09:28 PM

Comment écouter de la musique sur WeChat ? Vous pouvez écouter votre musique préférée sur WeChat APP, mais la plupart des amis ne savent pas comment écouter leur musique préférée sur WeChat. Voici ensuite le didacticiel graphique sur la façon d'écouter de la musique sur WeChat proposé par l'éditeur. Les utilisateurs intéressés viennent jeter un œil ! Tutoriel d'utilisation de WeChat : Comment écouter de la musique sur WeChat 1. Ouvrez d'abord l'application WeChat, faites glisser vers le bas pour accéder à la page du mini programme 2. Cliquez ensuite sur [Musique] comme indiqué par la flèche dans l'image ci-dessous ; dans l'interface comme indiqué ci-dessous, entrez dans la zone de recherche Entrez le titre de votre chanson préférée ; 4. Enfin, sélectionnez le titre de la chanson correspondante et cliquez pour lire la chanson.

See all articles