Table des matières
Partie HTML
Vue 组件的定义
Maison interface Web Voir.js Comment implémenter un lecteur audio avec Vue

Comment implémenter un lecteur audio avec Vue

Nov 07, 2023 pm 12:14 PM
vue 实现 音频播放器

Comment implémenter un lecteur audio avec Vue

Vue est un framework JavaScript populaire doté d'un modèle de développement efficace basé sur des composants et de capacités de liaison de données réactives, adapté au développement d'applications Web richement interactives. Dans notre développement actuel, la personnalisation et le développement de composants d'interface utilisateur sont une exigence courante. Cet article se concentrera sur la façon d'utiliser Vue pour implémenter un lecteur audio.

Tout d'abord, nous devons installer Vue.js. Nous pouvons télécharger le fichier Vue.js sur le site officiel de Vue, ou l'installer en utilisant npm ou fil :

npm install vue
Copier après la connexion

Une fois l'installation terminée, nous pouvons commencer à construire notre lecteur audio.

Partie HTML

Dans la partie HTML, nous devons d'abord déclarer une balise audio <audio> et tous les composants de contrôle du lecteur audio. Nous pouvons voir que nous utilisons plusieurs boutons pour contrôler respectivement différents états du joueur. Ces boutons seront liés aux composants de vue. On peut également utiliser un div pour afficher la liste de musique, qui sera également liée par le composant vue. Nous avons également lié la liste de lecture afin de pouvoir ajouter et supprimer de la musique de manière dynamique. <audio>和所有的音频播放器控制组件。 我们可以看到,我们使用了几个按钮来分别控制播放器的各个状态。这些按钮将被绑定到 vue 组件。我们还可以使用一个div来显示音乐列表,它也将被vue组件绑定。我们同时绑定了播放列表,这样我们就可以动态添加和删除音乐。

<div id="app">
    <div class="audio-player">
        <audio src="" id="audio" ref="audio"></audio>
        <!-- 播放按钮 -->
        <button class="button" v-on:click="playAudio"><i class="fa fa-play"></i></button>
        <!-- 暂停按钮 -->
        <button class="button" v-on:click="pauseAudio"><i class="fa fa-pause"></i></button>
        <!-- 上一个按钮 -->
        <button class="button" v-on:click="prevAudio"><i class="fa fa-chevron-left"></i></button>
        <!-- 下一个按钮 -->
        <button class="button" v-on:click="nextAudio"><i class="fa fa-chevron-right"></i></button>
        <div class="playlist">
            <div class="list-item" v-for="(audio,index) in audioList" v-bind:key="index" v-on:click="changeAudio(index)">
                {{audio.name}}
            </div>
        </div>
    </div>
</div>
Copier après la connexion

Vue 组件的定义

接下来,我们需要定义Vue组件,并实现我们刚才在HTML中定义的方法:

var vm = new Vue({
    el: '#app',
    data: {
        audioList: [], // 音乐列表
        currentAudio: { // 当前音乐信息
            src: '',
            name: '',
            artist: '',
        },
        currentIndex: 0, // 当前播放音乐在列表中的索引
        playStatus: false, // 播放状态
    },
    methods: {
        // 播放音乐
        playAudio: function() {
            this.playStatus = true
            this.$refs.audio.play()
        },
        // 暂停音乐
        pauseAudio: function() {
            this.playStatus = false
            this.$refs.audio.pause()
        },
        // 播放下一首
        nextAudio: function() {
            this.currentIndex++
            if (this.currentIndex > this.audioList.length - 1) {
                this.currentIndex = 0
            }
            this.currentAudio = this.audioList[this.currentIndex]
            this.$refs.audio.src = this.currentAudio.src
            this.playAudio()
        },
        // 播放上一首
        prevAudio: function() {
            this.currentIndex--
            if (this.currentIndex < 0) {
                this.currentIndex = this.audioList.length - 1
            }
            this.currentAudio = this.audioList[this.currentIndex]
            this.$refs.audio.src = this.currentAudio.src
            this.playAudio()
        },
        // 切换音乐
        changeAudio: function(index) {
            this.currentIndex = index
            this.currentAudio = this.audioList[this.currentIndex]
            this.$refs.audio.src = this.currentAudio.src
            this.playAudio()
        }
    }
})
Copier après la connexion

Vue组件的核心就是datamethods属性。 data属性中包含一组包含音乐信息和播放列表信息的变量,它们被随时监测和更新,以保证页面视图和数据的同步。 methods属性包含了一组方法,按需更新我们的音乐播放器。

正如我们之前所描述的一样,我们使用了一组音乐信息的数组audioList, 以及另一个对象currentAudio,它包含了当前播放音乐的完整信息。 我们还定义了currentIndex变量,来跟踪当前播放的歌曲,并使用playStatus来切换播放状态。

我们的方法包括: playAudiopauseAudio 控制音乐的播放( 或暂停), nextAudioprevAudio分别切换播放列表中的下一首或上一首音乐, changeAudio来切换到选定的音乐。

最后,使用$refs

vm.audioList = [
    {
        name: 'A Chill Sound',
        artist: 'Faster san',
        src: 'music/1.a-chill-sound.mp3'
    },
    {
        name: 'Calm Breeze',
        artist: 'Suraj Bista',
        src: 'music/2.calm-breeze.mp3',
    },
    {
        name: 'Happiness',
        artist: 'Erick McNerney',
        src: 'music/3.happiness.mp3'
    }
];
vm.currentAudio = vm.audioList[vm.currentIndex];
vm.$refs.audio.src = vm.currentAudio.src;
Copier après la connexion
Définition du composant Vue

Ensuite, nous devons définir le composant Vue et implémenter la méthode que nous venons de définir en HTML :

rrreee

Le cœur du composant Vue est constitué de data et méthodes propriété. L'attribut data contient un ensemble de variables contenant des informations sur la musique et des informations sur la liste de lecture. Elles sont surveillées et mises à jour à tout moment pour garantir que l'affichage de la page et les données sont synchronisés. L'attribut methods contient un ensemble de méthodes pour mettre à jour notre lecteur de musique si nécessaire.

Comme nous l'avons décrit précédemment, nous utilisons un tableau d'informations musicales audioList et un autre objet currentAudio, qui contient les informations complètes sur la musique en cours de lecture. Nous définissons également la variable currentIndex pour suivre la chanson en cours de lecture et utilisons playStatus pour changer l'état de lecture. 🎜🎜Nos méthodes incluent : playAudio et pauseAudio pour contrôler la lecture (ou la pause) de la musique, nextAudio et prevAudio Pour passer respectivement à la musique suivante ou précédente dans la liste de lecture, changeAudio passe à la musique sélectionnée. 🎜🎜Enfin, utilisez la méthode $refs pour référencer la balise audio audio que nous avons précédemment déclarée dans la section HTML, afin que ses méthodes play et pause puissent être appelées. 🎜🎜Lier la liste de musique🎜🎜Nous pouvons maintenant lier notre lecteur à la liste de musique. Les fichiers musicaux appropriés peuvent être sélectionnés en ligne et ajoutés à la liste musicale. Le code est le suivant. 🎜rrreee🎜Nous pouvons profiter de notre musique maintenant. Cet article montre comment créer un lecteur de musique simple à l'aide de Vue.js, et nous voyons comment utiliser ses capacités de liaison de données et d'appel de méthodes pour créer des applications dynamiques. Lors de la mise en œuvre de fonctionnalités, il est crucial d’organiser votre code de manière claire et nette, en gardant à l’esprit la sécurité et la facilité d’utilisation pour une fonctionnalité de bout en bout. 🎜

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

See all articles