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

编程入门 行业动态 更新时间:2024-10-07 20:34:53

为什么我的音频转换<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数在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秒的文件?

本文发布于:2024-05-30 06:50:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770222.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   音频转换   文件   nodejs

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!