Concat音频文件,然后调用创建文件

编程入门 行业动态 更新时间:2024-10-08 10:56:52

Concat<a href=https://www.elefans.com/category/jswz/34/1771399.html style=音频文件,然后调用创建文件"/>

Concat音频文件,然后调用创建文件

我是新手,正在尝试合并音频文件的文件夹,然后在node.js中使用ffmpeg传输创建文件。

我以为我可以用await调用创建文件的函数,然后在完成后代码将继续允许我调用创建的文件。但是,那不是正在发生的事情。我收到“文件未定义”

主要功能

//CONCATS THE FILES
  await concatAudio(supportedFileTypes.supportedAudioTypes, `${path}${config[typeKey].audio_directory}`);

  // CALLS THE FILE CREATED FROM concatAudio
  const randomSong = await getRandomFileWithExtensionFromPath(
    supportedFileTypes.supportedAudioTypes,
    `${path}${config[typeKey].audio_final}`
  );

concatAudio功能

var audioconcat = require('audioconcat');
const getRandomFileWithExtensionFromPath = require('./randomFile');
const find = require('find');

// Async Function to get a random file from a path
module.exports = async (extensions, path) => {
  // Find al of our files with the extensions
  let allFiles = [];

  extensions.forEach(extension => {
    allFiles = [...allFiles, ...find.fileSync(extension, path)];
  });

  await audioconcat(allFiles)
    .concat('./live-stream-radio/final/all.mp3')
    .on('start', function(command) {
      console.log('ffmpeg process started:', command);
    })
    .on('error', function(err, stdout, stderr) {
      console.error('Error:', err);
      console.error('ffmpeg stderr:', stderr);
    })
    .on('end', function(output) {
      console.error('Audio created in:', output);
    });

  // Return a random file

  // return '/Users/Semmes/Downloads/live-stream-radio-ffmpeg-builds/live-stream-radio/final/all.mp3';
};
回答如下:

我解决了它,将其包装到Promise中,我将解决方案调整为适合您的脚本(我未在此代码中进行测试,但几乎相同,希望对某人有帮助:

var audioconcat = require('audioconcat');
const getRandomFileWithExtensionFromPath = require('./randomFile');
const find = require('find');

// Async Function to get a random file from a path
module.exports = async (extensions, path) => {
  // Find al of our files with the extensions
  let allFiles = [];

  extensions.forEach(extension => {
    allFiles = [...allFiles, ...find.fileSync(extension, path)];
  });

  const concatPromise = new Promise(async (resolve, error) => {
    audioconcat(allFiles)
        .concat('./live-stream-radio/final/all.mp3')
        .on('start', function(command) {
            console.log('ffmpeg process started:', command);
        })
        .on('error', function(err, stdout, stderr) {
            console.error('Error:', err);
            console.error('ffmpeg stderr:', stderr);
            error(err);
        })
        .on('end', function(output) {
            console.error('Audio created in:', output);
            resolve(otuput);
        });
    });

// Return a random file (this should return the output string)
return await concatPromise();

  // return '/Users/Semmes/Downloads/live-stream-radio-ffmpeg-builds/live-stream-radio/final/all.mp3';
};

更多推荐

Concat音频文件,然后调用创建文件

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

发布评论

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

>www.elefans.com

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