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读取本地媒体文件播放内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • node版本与node-sass版本不兼容时的问题及解决

    node版本与node-sass版本不兼容时的问题及解决

    这篇文章主要介绍了node版本与node-sass版本不兼容时的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • node.js使用require()函数加载模块

    node.js使用require()函数加载模块

    本文通过几个具体实例来分析node.js中使用require()函数来加载模块的方法。非常的详尽,给需要的小伙伴们参考下吧
    2014-11-11
  • Node.js Buffer模块功能及常用方法实例分析

    Node.js Buffer模块功能及常用方法实例分析

    这篇文章主要介绍了Node.js Buffer模块功能及常用方法,结合实例形式分析了Buffer模块的各种常用函数及相关使用技巧,需要的朋友可以参考下
    2019-01-01
  • 详解nodeJS之二进制buffer对象

    详解nodeJS之二进制buffer对象

    本篇文章主要介绍了nodeJS之二进制buffer对象,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法

    nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法

    这篇文章主要介绍了nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 在Node.js中判定文件是否可执行的方法详解

    在Node.js中判定文件是否可执行的方法详解

    在进行前端开发时,经常需要处理各种文件权限的问题,特别是在Node.js环境中,你可能想要判断某个文件是否具有可执行权限,本文将详细介绍如何使用isexe模块来进行这一操作,需要的朋友可以参考下
    2024-05-05
  • node实现定时发送邮件的示例代码

    node实现定时发送邮件的示例代码

    本篇文章主要介绍了node实现定时发送邮件的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • node.js通过Sequelize 连接MySQL的方法

    node.js通过Sequelize 连接MySQL的方法

    这篇文章主要介绍了node.js通过Sequelize 连接MySQL的方法,本文给大家介绍的非常详细,对大家的学习或工作,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 解析NodeJS异步I/O的实现

    解析NodeJS异步I/O的实现

    本篇文章主要介绍了解析NodeJS异步I/O的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Dapr+NestJs编写Pub及Sub装饰器实战示例

    Dapr+NestJs编写Pub及Sub装饰器实战示例

    这篇文章主要为大家介绍了Dapr+NestJs编写Pub及Sub装饰器的实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论