欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs讀取本地mp3和mp4等媒體文件并播放的案例

 更新時間:2022年09月06日 11:01:31   作者:Mr-阿梓  
fs模塊是nodejs官方提供用來操作文件的模塊,下面這篇文章主要給大家介紹了關(guān)于nodejs讀取本地mp3和mp4等媒體文件并播放的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

本文主要講解讀取本地mp3文件并播放的案例

1、fs是必不可少的文件模塊

// 首先引入fs模塊
const fs = require("fs")

2、使用fs讀取本地媒體文件

let path = "d:\\music.mp3"
// 創(chuàng)建流對象(方法的第一個參數(shù)是文件路徑,第二個參數(shù)是流的配置,具體查看node.js文檔)
let rs = fs.createReadStream(path, {
	  flags: "r",
      encoding: null,
      fd: null,
      autoClose: true,
      start: 0,
})

3、監(jiān)聽流的讀取

let chunks = []  // 創(chuàng)建存放數(shù)據(jù)塊的數(shù)組,用以存放讀取到的數(shù)據(jù)塊,在后續(xù)進行消費
// 每當(dāng)流將數(shù)據(jù)塊的所有權(quán)移交給消費者時,則會觸發(fā) 'data' 事件。
ws.on("data", (chunk) => chunks.push(chunks))
// 當(dāng)所有的數(shù)據(jù)塊讀完后,觸發(fā)end事件
ws.on("end", () => {
	// 在這里處理讀取到的媒體流
	// 將收集到的數(shù)據(jù)塊進行base64處理
	// 這就是媒體的數(shù)據(jù),將其放至在audio/video標(biāo)簽的src屬性即可播放
	let bs = Buffer.concat(chunks).toString("base64") 
})

4、播放媒體

// 將獲取到的base64媒體數(shù)據(jù)進行播放
// 這里演示音頻的播放
 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);
});

總結(jié)

到此這篇關(guān)于nodejs讀取本地mp3和mp4等媒體文件并播放的文章就介紹到這了,更多相關(guān)nodejs讀取本地媒體文件播放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用nodejs分離html文件里的js和css詳解

    使用nodejs分離html文件里的js和css詳解

    在本篇文章里小編給大家分享了關(guān)于如何使用nodejs分離html文件里的js和css的相關(guān)知識點,需要的朋友參考下。
    2019-04-04
  • node微信開發(fā)之獲取access_token+自定義菜單

    node微信開發(fā)之獲取access_token+自定義菜單

    這篇文章主要介紹了node微信開發(fā)之獲取access_token+自定義菜單,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • npm報錯"A?complete?log?of?this?run?can?be?found?in:"的解決辦法

    npm報錯"A?complete?log?of?this?run?can?be?found?

    這篇文章主要給大家介紹了關(guān)于npm報錯"A?complete?log?of?this?run?can?be?found?in:"的解決辦法,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-04-04
  • 快速掌握Node.js事件驅(qū)動模型

    快速掌握Node.js事件驅(qū)動模型

    這篇文章主要為大家詳細介紹了Node.js事件驅(qū)動模型,首先了解一下傳統(tǒng)的線程網(wǎng)絡(luò)模型,然后再學(xué)習(xí)了解Node.js事件驅(qū)動模型,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Node.js的特點和應(yīng)用場景介紹

    Node.js的特點和應(yīng)用場景介紹

    這篇文章主要介紹了Node.js的特點和應(yīng)用場景介紹,本文講解了Node.js的異步I/O、 事件循環(huán)與回調(diào)函數(shù)、單線程、 跨平臺等特性,然后總結(jié)了它的使用場景,需要的朋友可以參考下
    2014-11-11
  • docker中編譯nodejs并使用nginx啟動

    docker中編譯nodejs并使用nginx啟動

    這篇文章主要介紹了docker中編譯nodejs并使用nginx啟動的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法分析

    nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法分析

    這篇文章主要介紹了nodejs實現(xiàn)日志讀取、日志查找及日志刷新的方法,涉及nodejs日期時間運算、轉(zhuǎn)換及日志讀寫等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • Node.js讀寫文件之批量替換圖片的實現(xiàn)方法

    Node.js讀寫文件之批量替換圖片的實現(xiàn)方法

    下面小編就為大家?guī)硪黄狽ode.js讀寫文件之批量替換圖片的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Node 模塊原理與用法詳解

    Node 模塊原理與用法詳解

    這篇文章主要介紹了Node 模塊原理與用法,結(jié)合實例形式詳細分析了node.js模塊基本概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-05-05
  • 服務(wù)端nodejs抓取jsonp接口數(shù)據(jù)實現(xiàn)示例

    服務(wù)端nodejs抓取jsonp接口數(shù)據(jù)實現(xiàn)示例

    這篇文章主要為大家介紹了服務(wù)端nodejs抓取jsonp接口數(shù)據(jù)實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06

最新評論