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

相关文章

  • nodejs个人博客开发第五步 分配数据

    nodejs个人博客开发第五步 分配数据

    这篇文章主要为大家详细介绍了nodejs个人博客开发的分配数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • node.js 利用流实现读写同步,边读边写的方法

    node.js 利用流实现读写同步,边读边写的方法

    下面小编就为大家带来一篇node.js 利用流实现读写同步,边读边写的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 手把手带你安装多个node版本

    手把手带你安装多个node版本

    在项目开发过程中,不同项目使用的node版本不同,有时会因为node版本过高或太低,导致报错,下面这篇文章主要给大家介绍了关于安装多个node版本的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Node.js内置模块events事件监听发射详解

    Node.js内置模块events事件监听发射详解

    这篇文章主要为大家介绍了Node.js内置模块events事件监听发射详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录

    AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录

    这篇文章主要介绍了AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录,需要的朋友可以参考下
    2015-01-01
  • 原生node.js案例--前后台交互

    原生node.js案例--前后台交互

    本文主要介绍了原生node.js案例--前后台交互。本案例包含4部分:(1)HTML部分;(2)ajax部分;(3)JavaScript部分;(4)node服务器部分。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Nodejs实现微信分账的示例代码

    Nodejs实现微信分账的示例代码

    这篇文章主要介绍了Nodejs实现微信分账的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Node.js设置定时任务之node-schedule模块的使用详解

    Node.js设置定时任务之node-schedule模块的使用详解

    node-schedule是 Node.js 的一个定时任务(crontab)模块。这篇文章主要介绍了Node.js设置定时任务之node-schedule模块的使用,需要的朋友可以参考下
    2020-04-04
  • 详解如何使用Node.js连接数据库ORM

    详解如何使用Node.js连接数据库ORM

    这篇文章主要为大家介绍了详解如何使用Node.js连接数据库ORM示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Node.js+Express.js+TS实现简单图床脚本

    Node.js+Express.js+TS实现简单图床脚本

    在这篇博客文章中,我将介绍如何使用 TypeScript 和 Express 框架来编写一个简单的图床脚本,可以将本地图片上传到服务器,并返回图片的 URL,这样,你就可以在 Markdown 文档中方便地引用图片,而不用担心图片的存储和管理问题
    2023-10-10

最新评论