nodejs读取本地mp3和mp4等媒体文件并播放的案例
短信预约 -IT技能 免费直播动态提醒
本文主要讲解读取本地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标签的class="lazy" data-src属性即可播放
let bs = Buffer.concat(chunks).toString("base64")
})
4、播放媒体
// 将获取到的base64媒体数据进行播放
// 这里演示音频的播放
let class="lazy" data-src= 'data:audio/mp3;base64,' + bs;
let audio = new Audio();
audio.class="lazy" data-src = class="lazy" data-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读取本地媒体文件播放内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341