当尝试使用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()
如何获取文件以接收目录路径,并且目录路径有问题?
答案 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