最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

为什么我的音频转换函数在nodejs中只能转换前7秒的文件?

网站源码admin38浏览0评论

为什么我的音频转换函数在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 秒。

回答如下:
发布评论

评论列表(0)

  1. 暂无评论