是否可以在客户端浏览器中播放存储在 node.js 服务器上的音乐?

Is it possible to play music stored on a node.js server in the client's browser?

我有一个大型音频文件数据库(.mp3 和 .m4a 文件的混合),我想将其存储在 Raspberry pi 上。是否可以使用 node.js 创建一个 Web 服务器,使我可以从另一台设备连接到 pi 并从浏览器中播放服务器上的音频文件?这甚至可能吗?如果可以,那么我需要下载哪些模块?

谢谢,Mitra0000

使用 python 和 nodejs 这将非常简单。首先假设 192.168.0.1 是服务器,192.168.0.2 是存放音乐文件的计算机。

启动 python 服务器

您要做的是在计算机上保存音乐文件,您将cd /folder/with/music然后启动python服务器python -m http.server 8000(或python -m SimpleHTTPServer 8000 python2)

nodejs服务器的解释

现在您可以 运行 您的节点服务器在另一台计算机上。当你想为你的服务器使用一个文件时,只需使用 http://192.168.0.2:8000/file/you/want.mp3 而不是 /path/to/local/file.mp3

Nodejs 服务器代码

下面的代码是将播放音乐的基本节点快速服务器的示例。这应该在服务器上。不是有音频文件的电脑。

var express = require('express')
var app = express()
var musicPath = "http://192.168.0.2:8000/helloWorld.mp3"; //change this path to your music file.
var onclickHTML = "var audio = new Audio('" + musicPath + "'); audio.play();"
app.get('/', function (req, res) {
  res.send('<button onclick="' + onclickHTML + '">click me to hear music</button>'); //this creates a button that the user can click to play some audio.
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})



希望对您有所帮助!随时提出任何后续问题。