Home Web Front-end JS Tutorial How to develop a simple music player using Node.js

How to develop a simple music player using Node.js

Nov 08, 2023 pm 09:50 PM
nodejs develop music player

How to develop a simple music player using Node.js

Title: Develop a simple music player using Node.js

Node.js is a popular server-side JavaScript runtime environment that helps developers Build high-performance web applications. In this article, we will introduce how to use Node.js to develop a simple music player and provide specific code examples.

First, we need to install Node.js and npm (the package manager for Node.js). Once the installation is complete, we can start creating our music player project.

Create a project folder and initialize npm in this folder.

mkdir music-player
cd music-player
npm init -y
Copy after login

Next, we need to install some dependencies, including Express (a popular Node.js web application framework) and multer (middleware for handling file uploads).

npm install express multer
Copy after login

Create an app.js file under the project folder, this will be the main file of our Node.js application. We will write our music player backend code in this file.

// 引入所需的模块
const express = require('express');
const multer = require('multer');
const path = require('path');
const app = express();

// 配置multer来处理音乐文件上传
const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    cb(null, 'uploads/');
  },
  filename: function (req, file, cb) {
    cb(null, file.fieldname + '-' + Date.now() + path.extname(file.originalname));
  }
});
const upload = multer({ storage: storage });

// 设置静态文件目录
app.use(express.static('public'));

// 处理GET请求,返回前端页面
app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'index.html'));
});

// 处理音乐文件上传
app.post('/upload', upload.single('music'), (req, res) => {
  res.send('音乐上传成功');
});

// 启动服务器
const port = 3000;
app.listen(port, () => {
  console.log(`音乐播放器后端服务运行在 http://localhost:${port}`);
});
Copy after login

In the above code, we first introduced the Express, multer and path modules, and configured multer to handle the upload of music files. Then we set up a static file directory so that static resources (such as CSS, JavaScript files, etc.) in the front-end page can be accessed. Then we processed the GET request, returned to the front-end page, and processed the POST request for music file upload. Finally we started the server and listened on port 3000.

Next, we need to create a front-end page to implement the function of the music player. Create an index.html file under the project folder, this will be the main file for our music player front-end page. Write HTML and JavaScript code in this file.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>音乐播放器</title>
  <style>
    /* 样式 */
  </style>
</head>
<body>
  <input type="file" id="musicFile" accept=".mp3">
  <button id="uploadBtn">上传音乐</button>
  <audio controls id="audioPlayer"></audio>

  <script>
    document.getElementById('uploadBtn').addEventListener('click', () => {
      const fileInput = document.getElementById('musicFile');
      const formData = new FormData();
      formData.append('music', fileInput.files[0]);
      fetch('/upload', {
        method: 'POST',
        body: formData
      })
      .then(response => response.text())
      .then(data => {
        console.log(data);
      })
      .catch(error => {
        console.error('上传失败', error);
      });
    });

    document.getElementById('musicFile').addEventListener('change', () => {
      const audioPlayer = document.getElementById('audioPlayer');
      audioPlayer.src = URL.createObjectURL(document.getElementById('musicFile').files[0]);
    });
  </script>
</body>
</html>
Copy after login

In the above code, we created a simple HTML page containing uploaded music files and a music player, and used JavaScript to listen for file upload and music file change events.

Finally, we need to place the static resource files (such as CSS, JavaScript files, etc.) required by the music player in the public folder, and introduce these static resource files in index.html.

Finally, we can launch our music player application.

node app.js
Copy after login

Visit http://localhost:3000 in the browser, you can see our music player page. You can select music files and upload them, then click the play button to play your music files.

Through the introduction of this article, we learned how to use Node.js and some related npm packages to develop a simple music player. With this simple example, we can see the power of Node.js in building web applications. I hope this article can be helpful to you, thank you for reading!

The above is the detailed content of How to develop a simple music player using Node.js. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Four recommended AI-assisted programming tools Four recommended AI-assisted programming tools Apr 22, 2024 pm 05:34 PM

This AI-assisted programming tool has unearthed a large number of useful AI-assisted programming tools in this stage of rapid AI development. AI-assisted programming tools can improve development efficiency, improve code quality, and reduce bug rates. They are important assistants in the modern software development process. Today Dayao will share with you 4 AI-assisted programming tools (and all support C# language). I hope it will be helpful to everyone. https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot is an AI coding assistant that helps you write code faster and with less effort, so you can focus more on problem solving and collaboration. Git

Is nodejs a backend framework? Is nodejs a backend framework? Apr 21, 2024 am 05:09 AM

Node.js can be used as a backend framework as it offers features such as high performance, scalability, cross-platform support, rich ecosystem, and ease of development.

How to connect nodejs to mysql database How to connect nodejs to mysql database Apr 21, 2024 am 06:13 AM

To connect to a MySQL database, you need to follow these steps: Install the mysql2 driver. Use mysql2.createConnection() to create a connection object that contains the host address, port, username, password, and database name. Use connection.query() to perform queries. Finally use connection.end() to end the connection.

What are the global variables in nodejs What are the global variables in nodejs Apr 21, 2024 am 04:54 AM

The following global variables exist in Node.js: Global object: global Core module: process, console, require Runtime environment variables: __dirname, __filename, __line, __column Constants: undefined, null, NaN, Infinity, -Infinity

What is the difference between npm and npm.cmd files in the nodejs installation directory? What is the difference between npm and npm.cmd files in the nodejs installation directory? Apr 21, 2024 am 05:18 AM

There are two npm-related files in the Node.js installation directory: npm and npm.cmd. The differences are as follows: different extensions: npm is an executable file, and npm.cmd is a command window shortcut. Windows users: npm.cmd can be used from the command prompt, npm can only be run from the command line. Compatibility: npm.cmd is specific to Windows systems, npm is available cross-platform. Usage recommendations: Windows users use npm.cmd, other operating systems use npm.

Is there a big difference between nodejs and java? Is there a big difference between nodejs and java? Apr 21, 2024 am 06:12 AM

The main differences between Node.js and Java are design and features: Event-driven vs. thread-driven: Node.js is event-driven and Java is thread-driven. Single-threaded vs. multi-threaded: Node.js uses a single-threaded event loop, and Java uses a multi-threaded architecture. Runtime environment: Node.js runs on the V8 JavaScript engine, while Java runs on the JVM. Syntax: Node.js uses JavaScript syntax, while Java uses Java syntax. Purpose: Node.js is suitable for I/O-intensive tasks, while Java is suitable for large enterprise applications.

Is nodejs a back-end development language? Is nodejs a back-end development language? Apr 21, 2024 am 05:09 AM

Yes, Node.js is a backend development language. It is used for back-end development, including handling server-side business logic, managing database connections, and providing APIs.

Can nodejs write front-end? Can nodejs write front-end? Apr 21, 2024 am 05:00 AM

Yes, Node.js can be used for front-end development, and key advantages include high performance, rich ecosystem, and cross-platform compatibility. Considerations to consider are learning curve, tool support, and small community size.

See all articles