nodo合并多个mp3文件

  • 会使用到node中的fs - 文件系统
import fs from 'fs';

//读取目录下的文件,返回文件名数组[0x2.mp3,f0k.mp3];
const files = fs.readdirSync('./files'); //遍历文档数组重命名
files.forEach((item,index)=>{
fs.rename(`./files/${item}`, `./files/MEC Loading_${index}.mp4`,(err)=>{
if (err) throw err;
console.log(`文件${item}--renamed!`);
});
}); // 通过流的形式合并文件
let currentfile;
let stream;
//在当前目录创建一个流文件.将其他文件流写入其中
let dhh = fs.createWriteStream('./done.mp4'); function main() {
if (!files.length) {
dhh.end("Done");
return;
}
// 删除文件数组中的第一个元素,并返回第一个元素
currentfile = './files/' + files.shift();
// 获取第一个文件的流
stream = fs.createReadStream(currentfile);
// 写入创建好的流文件中
stream.pipe(dhh, {end: false});
// 当前文件写入完成回调
stream.on("end", function() {
console.log(currentfile + ' appended');
main();
});
}
// 递归合并所有流
main();

参考文档

nodo合并多个视频文件

import fs from 'fs';
import path from 'path';
import ffmpeg from 'fluent-ffmpeg';
//使用ffmpeg工具
ffmpeg.setFfmpegPath(path.join(__dirname, '/ffmpeg/bin/ffmpeg.exe'));
ffmpeg.setFfprobePath(path.join(__dirname, '/ffmpeg/bin/ffprobe.exe')); ffmpeg()
.input('./files/MEC Loading_0.mp4') //需要合并的视频part1
.input('./files/MEC Loading_1.mp4') //需要合并的视频part2
.on('end', function() {
console.log('Merging finished !');
})
.mergeToFile('./Merging.mp4'); //输出目录
};
/*
使用fluent-ffmpeg合并视频文件
*/ let videoNames = [];
// 注意文件排序
files.forEach(item => {
videoNames.push(`./files/${item}`);
}); var fluent_ffmpeg = require("fluent-ffmpeg"); var mergedVideo = fluent_ffmpeg(); videoNames.forEach(function(videoName){
mergedVideo = mergedVideo.addInput(videoName);
}); mergedVideo.mergeToFile('./mergedVideo.ts', './tmp/')
.on('error', function(err) {
console.log('Error ' + err.message);
})
.on('end', function() {
console.log('Finished!');
});

nodo合并多个mp3文件的更多相关文章

  1. swift 录制多个音频 并将音频转换为mp3 并合成多个mp3文件为一个文件

    我的需求是可以录制多个文件,最后生成的文件格式为mp3形式,查了下各种资料,因为swift无法直接将音频录制为mp3格式,所以最后我采取的解决方案为先将每个单独的文件转为mp3,最后逐一合并形成一个m ...

  2. 如何把微信语音汇总成一个MP3文件?

    有的时候想要保存微信中的语音内容,但是苦于语音短且多,因此想要把它汇总成一个音频文件. 本篇以苹果手机为例,安卓手机也可类似. 第一步,安装同步助手 同步助手是一款在电脑上安装,可以保存手机上的内容的 ...

  3. C# 合并及拆分PDF文件

    C# 合并及拆分PDF文件 有时我们可能会遇到下图这样一种情况 — 我们需要的资料或教程被分成了几部分存放在多个PDF文件中,不管是阅读还是保存都不是很方便,这时我们肯定想要把这些PDF文件合并为一个 ...

  4. MP3文件信息批量更改器

    以前(估计是2003年)编写一个MP3文件信息批量更改器MP3TagChanger,现放上来参考.(VB6编码) 使用方法很简单,会Winamp或者千千静听的就懂使用. http://pan.baid ...

  5. MP3文件ID3信息编辑器代码开源 - 开源研究系列文章

    上次把磁性窗体的源码开源了,这次就开源另一个程序源码:MP3文件ID3信息编辑器.这个源码也比较简单,关键在于获取和写入MP3文件的这个ID3的信息即可. 这个操作信息编辑的就封装在MP3ID3.ba ...

  6. C# 将多个office文件转换及合并为一个PDF文件

    PDF文件介绍 PDF(Portable Document Format )文件源于20世纪90年代初期,如今早已成为了一种最流行的的文件格式之一.因为PDF文件有很多优点: 支持跨平台和跨设备共享 ...

  7. 读取SD卡文件夹下的MP3文件和播放MP3文件

    首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public Lis ...

  8. C# 获取 mp3文件信息

    C# 获取 mp3文件信息[包括:文件大小.歌曲长度.歌手.专辑] 第一种方式:[代码已验证] // http://bbs.csdn.net/topics/390392612   string fil ...

  9. 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片

    突发奇想,想弄个显示MP3文件信息和专辑图片的小Demo,个人不是大牛,遂百度之,总算搞定,现分享如下. 效果图: GIF效果图: 主要是依靠2个DLL文件:ID3.dll 和 Interop.She ...

随机推荐

  1. Xcode升级到9.3之后pod问题

    最近新建了一个项目,然后在终端pod init的时候出现了问题,复制粘贴部分错误信息 MacBook-Pro:testDemo xywy$ pod init [in /Users/xywy/Deskt ...

  2. POJ 2209

    #include<iostream> #include<stdio.h> #include<algorithm> #include<math.h> #d ...

  3. ES6之新增set数据结构

    学习set set是ES6中的新增的数据结构,是一种构造函数,类似于数组,但是里面的元素都是唯一的,不重复的. 例如: const set = new Set(); [1,2,3,4,5,2,1,2, ...

  4. Objective-C 之category

    参考资料:iOS设计模式——Category Category Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的. 相当于Swift中的功能扩展(extension). 新添加的 ...

  5. 'qt_sql_default_connection' is still in use

    出现这个告警是因为打开了多个db而没有及时关闭,网上搜了答案是使用完了执行 QSqlDatabase::removeDatabase(m_connectionName); 泄漏的问题有所改善,但点快了 ...

  6. 04-树6 Complete Binary Search Tree (30 分)

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  7. redux进阶 --- 中间件和异步操作

    你为什么需要异步操作? https://stackoverflow.com/questions/34570758/why-do-we-need-middleware-for-async-flow-in ...

  8. java调用svnkit工具类上传本地文件到svn服务器

    package org.jenkinsci.plugins.svn.upload.step; import java.io.*; import org.tmatesoft.svn.core.SVNCo ...

  9. 快速排序分析及实现(C++)

    目录 快速排序算法分析及实现(C++) 算法思想 快速排序步骤 优点分析 C++语言实现 快速排序算法分析及实现(C++) 算法思想 ​ 把n个元素划分为三段:左端Left,中间段middle和右端r ...

  10. iview中使用Tag时进行数据的变化和实现将输入内容转化为标签输出数组

    上代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...