问题描述
如何在javascript中将aac文件转换为opus?找不到任何可以执行此操作的库。
我尝试使用aurora
作为解码器和@discordjs/opus
作为编码器来执行此操作,但是编码器由于未知错误而失败。
我的代码看起来像这样
var AV = require('av');
require('aac');
const { OpusEncoder } = require('@discordjs/opus');
const encoder = new OpusEncoder(48000,2);
var toBuffer = require('typedarray-to-buffer');
const fileAddr = './temp/1599913142871.aac';
var asset = AV.Asset.fromFile(fileAddr);
asset.decodeToBuffer(function(buffer) {
const buf = toBuffer(buffer);
var encodedPacket = encoder.encode(buf);
console.log('123');
});
asset.start();
这是程序完成后的错误跟踪。查看此错误,我知道编码器中某处存在该错误。
/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/asset.js:126
return callback(buf);
^
Error: Unknown failure
at /Users/pluhin/projects/anyvoice/test-convert-audio/test.ts:15:33
at Asset.<anonymous> (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/asset.js:126:16)
at Asset.cb (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/core/events.js:51:19)
at Asset.EventEmitter.emit (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/core/events.js:64:12)
at Class.<anonymous> (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/asset.js:202:24)
at Class.EventEmitter.emit (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/core/events.js:64:12)
at Class.Decoder.decode (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/decoder.js:90:14)
at Class.<anonymous> (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/decoder.js:54:26)
at Class.EventEmitter.emit (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/core/events.js:64:12)
at FileSource.<anonymous> (/Users/pluhin/projects/anyvoice/test-convert-audio/node_modules/av/src/demuxer.js:51:24)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! test-convert-audio@1.0.0 start: `npx ts-node test.ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the test-convert-audio@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/pluhin/.npm/_logs/2020-09-13T09_47_59_012Z-debug.log
也许您可以帮助我找到另一种转换方式。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)