nodejs读取本地mp3和mp4等媒体文件并播放的案例
更新时间:2022年09月06日 11:01:31 作者:Mr-阿梓
fs模块是nodejs官方提供用来操作文件的模块,下面这篇文章主要给大家介绍了关于nodejs读取本地mp3和mp4等媒体文件并播放的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
本文主要讲解读取本地mp3文件并播放的案例
1、fs是必不可少的文件模块
// 首先引入fs模块
const fs = require("fs")2、使用fs读取本地媒体文件
let path = "d:\\music.mp3"
// 创建流对象(方法的第一个参数是文件路径,第二个参数是流的配置,具体查看node.js文档)
let rs = fs.createReadStream(path, {
flags: "r",
encoding: null,
fd: null,
autoClose: true,
start: 0,
})
3、监听流的读取
let chunks = [] // 创建存放数据块的数组,用以存放读取到的数据块,在后续进行消费
// 每当流将数据块的所有权移交给消费者时,则会触发 'data' 事件。
ws.on("data", (chunk) => chunks.push(chunks))
// 当所有的数据块读完后,触发end事件
ws.on("end", () => {
// 在这里处理读取到的媒体流
// 将收集到的数据块进行base64处理
// 这就是媒体的数据,将其放至在audio/video标签的src属性即可播放
let bs = Buffer.concat(chunks).toString("base64")
})4、播放媒体
// 将获取到的base64媒体数据进行播放 // 这里演示音频的播放 let src= 'data:audio/mp3;base64,' + bs; let audio = new Audio(); audio.src = src; audio.load(); audio.play();
5、这里在介绍一个解析音频文件信息的库 node-id3
const NodeID3 = require("node-id3");
// path是音频文件的路径
NodeID3.read(path, (err, tags) => {
if (err) {
reject();
}
console.log(tags) // 音频的信息
resolve(obj);
});
总结
到此这篇关于nodejs读取本地mp3和mp4等媒体文件并播放的文章就介绍到这了,更多相关nodejs读取本地媒体文件播放内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
这篇文章主要介绍了AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录,需要的朋友可以参考下2015-01-01
Node.js设置定时任务之node-schedule模块的使用详解
node-schedule是 Node.js 的一个定时任务(crontab)模块。这篇文章主要介绍了Node.js设置定时任务之node-schedule模块的使用,需要的朋友可以参考下2020-04-04


最新评论