|
@@ -8,8 +8,8 @@ const awaitWriteStream = require('await-stream-ready').write;
|
|
|
const sendToWormhole = require('stream-wormhole');
|
|
|
const assert = require('assert');
|
|
|
const wxstream = require('stream');
|
|
|
-// const ffmpeg = require('fluent-ffmpeg');
|
|
|
-const amrToMp3 = require('amrToMp3');
|
|
|
+const ffmpeg = require('fluent-ffmpeg');
|
|
|
+
|
|
|
class FilesController extends Controller {
|
|
|
|
|
|
async upload() {
|
|
@@ -71,6 +71,8 @@ class FilesController extends Controller {
|
|
|
assert(type, 'type不允许为空');
|
|
|
const { ctx, app } = this;
|
|
|
const url = app.config.wx.wxdown + serverid;
|
|
|
+ console.log(url);
|
|
|
+ console.log(type);
|
|
|
const file = await this.ctx.curl(url);
|
|
|
const stream = new wxstream.PassThrough();
|
|
|
stream.end(file.data);
|
|
@@ -87,28 +89,16 @@ class FilesController extends Controller {
|
|
|
const saved = await this.wxsaveFile(rootPath, dirs, stream, '.amr');
|
|
|
// 音频时如果需要使用转码,以下调用ffmpeg进行转码处理
|
|
|
const hz = '.mp3';
|
|
|
- const dir_path = `${app.config.cdn.wxadio_path}`;
|
|
|
- const resultname = `${saved.id}`;
|
|
|
- console.log(`dir_path=>${dir_path}`);
|
|
|
- console.log(`resultname=>${resultname}`);
|
|
|
- console.log(`p1=>${dir_path}${resultname}.amr`);
|
|
|
- // const data = await amrToMp3(`${dir_path}${resultname}.amr`, `${dir_path}`, `${resultname}`);
|
|
|
- // console.log(data);
|
|
|
- amrToMp3(`${dir_path}${resultname}.amr`, `${dir_path}`, `${resultname}`)
|
|
|
- .then(data => {
|
|
|
- console.log(data);
|
|
|
- }).catch(e => {
|
|
|
- console.log(e);
|
|
|
+ const resultname = `${saved.id}${hz}`;
|
|
|
+ const ffurl = `${saved.filePath}${resultname}`;
|
|
|
+ new ffmpeg({ source: `${saved.filePath}${saved.fileName}` })
|
|
|
+ .saveToFile(ffurl, function(retcode, error) {
|
|
|
+ })
|
|
|
+ .on('end', function() {
|
|
|
+ // 在这里处理完成后的结果
|
|
|
+ console.log('Finished processing');
|
|
|
});
|
|
|
- // const ffurl = `${saved.filePath}${resultname}`;
|
|
|
- // new ffmpeg({ source: `${saved.filePath}${saved.fileName}` })
|
|
|
- // .saveToFile(ffurl, function(retcode, error) {
|
|
|
- // })
|
|
|
- // .on('end', function() {
|
|
|
- // // 在这里处理完成后的结果
|
|
|
- // console.log('Finished processing');
|
|
|
- // });
|
|
|
- uri = `${rootUrl}/${dirs.join('/')}/${resultname}${hz}`;
|
|
|
+ uri = `${rootUrl}/${dirs.join('/')}/${resultname}`;
|
|
|
} else if (type === '2') {
|
|
|
const dirs = [ 'wxvideo' ];
|
|
|
const saved = await this.wxsaveFile(rootPath, dirs, stream, '');
|