Home  >  Article  >  Web Front-end  >  How to make a music player in vue framework

How to make a music player in vue framework

WBOY
WBOYOriginal
2023-05-17 22:03:37578browse

The Vue framework is a JavaScript framework used to build user interfaces. Developing a music player in Vue is a very challenging task because you need to deal with multiple aspects such as audio data, UI control, and user experience. In this article, we will introduce how to create a simple music player using the Vue framework.

  1. Preparation

Before you begin, you need to make sure you have all the necessary files and libraries ready. First, you need to download the Vue.js library from the Vue official website and then add it in your project.

Additionally, you need to use a JavaScript library for playing audio. We will use the Audio Markup API, a native JavaScript method that helps us play audio in the browser. However, to make the framework easier to use, we will also use a Vue component called vue-audio tag.

  1. Create Vue App

Next, let’s create a Vue app. For this we will use Vue CLI. Enter the following command at the command line to install the Vue CLI:

npm install -g @vue/cli

Then, create and launch the Vue app using the following command:

vue create music-player
cd music-player
npm run serve

This will launch locally on http://localhost:8080 Develop the server and display the default Vue startup page.

  1. Add vue-audio component

Now, we will add the audio player using the Vue component. Installing the Vue-audio component can simplify this task. Enter the following command on the command line to install the component:

npm install vue-audio --save

After the installation is complete, create a new file named AudioPlayer.vue in the src directory. In this file, please add the following code:

<template>
  <div>
    <audio :src="source" ref="player"></audio>
    <button @click="play">
      {{ isPlaying ? 'Pause' : 'Play' }}
    </button>
  </div>
</template>

<script>
  import Audio from 'vue-audio'
  
  export default {
    components: { Audio },
    props: {
      source: String
    },
    data() {
      return {
        isPlaying: false
      }
    },
    methods: {
      play() {
        const player = this.$refs.player;
        if (this.isPlaying) {
          player.pause();
        } else {
          player.play();
        }
        this.isPlaying = !this.isPlaying;
      }
    }
  }
</script>

This component is a simple audio player that consists of an HTML audio tag, a button, and a method. The text on the button will switch based on the playback state. In the isPlaying data, we will record whether the audio is playing. If the audio element is playing, we will render the pause text in the component and pause the audio element when the button is clicked. If the audio element is paused, play text is displayed and the element plays on button click.

  1. Use vue-audio to play audio

Now, we can use the AudioPlayer component to play audio in the Vue app. First, add your audio files to the src/assets directory. Then, add the following code in App.vue:

<template>
  <div>
    <AudioPlayer :source="audioSrc" />
  </div>
</template>

<script>
  import AudioPlayer from './components/AudioPlayer.vue'
  
  export default {
    components: { AudioPlayer },
    data() {
      return {
        audioSrc: require('@/assets/audio_file.mp3')
      }
    }
  }
</script>

In this component, we use the AudioPlayer component. Our audio file is now loaded dynamically and will be passed as source to the AudioPlayer component to play.

  1. Custom UI

Finally, we need to make some UI customizations to the audio player. We will write some styles using CSS, please add the following CSS in App.vue:

<style>
  button {
    background-color: #2e79bd;
    border: none;
    color: white;
    padding: 10px;
    border-radius: 5px;
    font-size: 18px;
    margin-top: 20px;
    cursor: pointer;
  }
  
  button:hover {
    background-color: #3a8ff7;
  }
  
  audio {
    width: 100%;
    margin-top: 20px;
    border-radius: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
  }
</style>

Now, our music player is complete. By using the Vue framework and the vue-audio component, we successfully created a music player with basic UI and playback controls.

Conclusion

In this article, we introduced how to create a simple music player using the Vue framework and the vue-audio component. By using Vue components, we can make the audio player easier to use and maintain, and give it a customizable UI. If you need to create a complex music player, the functionality can be extended by integrating other JavaScript libraries.

The above is the detailed content of How to make a music player in vue framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn