如何使用 npm mp3 转 wav

Posted

技术标签:

【中文标题】如何使用 npm mp3 转 wav【英文标题】:How to use npm mp3 to wav 【发布时间】:2019-05-22 22:36:27 【问题描述】:

当尝试使用 npm mp3-to-wavmp3 转换为 wav 时,控制台返回,

"mp3 to wav exec err: saveForWav err: Path must be a string. 收到 ['C:\Projects\Weatherman\meme.wav']"

我相当确定我给它喂的是一个字符串,所以我不知道问题出在哪里。 npm mp3-to-wav 可以在 https://www.npmjs.com/package/mp3-to-wav#2-usage 找到,这是我的代码。

const Mp32Wav = require('mp3-to-wav');

new Mp32Wav("C:/Projects/Weatherman/meme.MP3").exec()

如何让文件接收目录路径,我的目录路径有问题吗?

【问题讨论】:

大多数 Windows 路径使用反斜杠 (\\ )。不过,我对图书馆的了解还不够,不知道这是否是问题所在。 【参考方案1】:

你得到的错误不是来自 'mp3-to-wav' 它来自 fs 你的路径没有问题

  class Mp32Wav 

      constructor(input_file_path, output_dir) 

        if (!utils.checkArgsNotNull(...input_file_path)) 
          throw new Error('err arguments')
        
        output_dir = utils.judgeNotNull(output_dir) ? output_dir : utils.splitFileDir(input_file_path)
        this._input_file_path = input_file_path
        this._input_file_name = utils.splitFilename(input_file_path)
        this._output_dir = output_dir
        this._output_file_name = this._input_file_name.toString().replace(/\.mp3/i, '')
      

正如你在他们的构造函数中看到的,他们忽略了大小写敏感

.replace(/\.mp3/i, '')

我不使用 windows,但我认为使用路径模块创建路径并检查其是否绝对对您有所帮助

Node.js path.isAbsolute() 方法

https://www.w3schools.com/nodejs/met_path_isabsolute.asp

另外,w3c 中的所有示例都在 windows 中使用双 \\ insted of \

例如

console.log(path.isAbsolute('C:\\test\\demo_path.js')); //true

【讨论】:

以上是关于如何使用 npm mp3 转 wav的主要内容,如果未能解决你的问题,请参考以下文章

小程序语音红包中遇到的 语音识别silk转wav格式 如何在线转 或者mp3转wav格式

如何利用 iTunes 把 m4a/wav 文件转成 MP3 格式

微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用

如何使用 python 脚本停止/关闭音频文件(mp3/.wav)

如何使用 Java 将 .wav 转换为 .mp3? [关闭]

如何使用 sox 将 wav 文件转换为 mp3 格式? [关闭]