如何使用npm mp3进行WAV

时间:2018-12-23 07:40:49

标签: javascript arrays node.js

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

  

“ mp3到wav exec错误:saveForWav错误:路径必须是字符串。   ['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()

如何获取文件以接收目录路径,并且目录路径有问题?

1 个答案:

答案 0 :(得分:0)

您得到的错误不是来自“ 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,但我认为使用path模块创建路径并检查其绝对路径将对您有所帮助

Node.js path.isAbsolute()方法

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

而且,w3c中的所有示例都在Windows中使用双\\插入\\

例如

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