函数在nodejs中只能转换前7秒的文件?"/>
为什么我的音频转换函数在nodejs中只能转换前7秒的文件?
我正在使用以下代码将 ogg 音频文件转换为 MP3 格式:
import { path as ffmpegPath } from "@ffmpeg-installer/ffmpeg";
import ffmpeg from "fluent-ffmpeg";
async function audioConversion(inputFileName: string, messageId: string) {
const outputFileName = `./temp/${messageId}/audio.mp3`;
return new Promise((resolve, reject) => {
ffmpeg()
.input(inputFileName)
.format("mp3")
.output(outputFileName)
.on("end", () => {
console.log("Conversion complete");
resolve(outputFileName);
})
.on("error", (err) => {
console.error(`Error converting file: ${err.message}`);
reject("error");
})
.run();
});
}
但是,我发现该函数只转换音频文件的前 7 秒
我试过修改转换设置(例如使用不同的编解码器,增加输出文件的持续时间),但问题仍然存在。是什么导致了这个问题,我该如何解决?
我尝试了什么:
- 增加音频比特率
- 使用不同的音频编解码器
- 使用不同的音频采样率
- 增加输出文件的持续时间
- 将寻道时间设置为 0
- 使用wav格式
我预期会发生什么:
audioConversion()
函数应该将整个音频文件转换为 MP3 格式或 wav 格式(如果可行的话)
实际结果:该函数仅转换文件的前 7 秒。
回答如下:更多推荐
为什么我的音频转换函数在nodejs中只能转换前7秒的文件?
发布评论