node.js(一) Stream 流的mp3

流可以与在许多对象上也使用流的http模块一起使用。
比如说下面这个例子: 创建一个流的mp3服务器。

将一个.mp3格式的音频文件放在本地文件夹下,本例中为July.mp3,在此文件夹下新建一个.js文件,暂且命名为mp3.js,写入下面代码:

// 创建流mp3服务器

// 引入http模块和fs模块
var http=require('http')
var fs=require('fs')

// 创建一个本地服务器,127.0.0.1:3000
http.createServer((req,res)=>{
    var mp3='./July.mp3'
    var stat=fs.statSync(mp3)

    res.writeHead(200,{
        'Content-Type':'audio/mpeg',
        'Content-Length':stat.size
    })

    //创建可读流
    var readableStream=fs.createReadStream(mp3)
    // 管道pipe流入
    readableStream.pipe(res);
}).listen(3000)
console.log('服务器运行在 127.0.0.1:3000端口')

终端运行 node mp3

浏览器打开 127.0.0.1:3000
node.js(一) Stream 流的mp3_第1张图片
111.PNG

可以看到这是chrome浏览器打开下的效果,自动播放音乐,可以暂停,可以调节音量大小,右侧的下载按钮也能将音频下载到本地。

win10系统自带的Edge浏览器下打开效果

node.js(一) Stream 流的mp3_第2张图片
222.PNG
低版本ie浏览器不支持

你可能感兴趣的:(node.js(一) Stream 流的mp3)