lrf402788946 4 éve
szülő
commit
e007e3303e
3 módosított fájl, 16 hozzáadás és 12 törlés
  1. 14 12
      app/controller/files.js
  2. 1 0
      config/config.default.js
  3. 1 0
      package.json

+ 14 - 12
app/controller/files.js

@@ -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 ffmpeg = require('fluent-ffmpeg');
+const amrToMp3 = require('amrToMp3');
 class FilesController extends Controller {
 
   async upload() {
@@ -89,16 +89,18 @@ class FilesController extends Controller {
       const saved = await this.wxsaveFile(rootPath, dirs, stream, '.amr');
       // 音频时如果需要使用转码,以下调用ffmpeg进行转码处理
       const hz = '.mp3';
-      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');
-        });
-      uri = `${rootUrl}/${dirs.join('/')}/${resultname}`;
+      const dir_path = `${app.config.cdn.wxadio_path}`;
+      const resultname = `${saved.id}`;
+      await amrToMp3(`${dir_path}${resultname}.amr`, dir_path, resultname);
+      // 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}`;
     } else if (type === '2') {
       const dirs = [ 'wxvideo' ];
       const saved = await this.wxsaveFile(rootPath, dirs, stream, '');

+ 1 - 0
config/config.default.js

@@ -42,6 +42,7 @@ module.exports = appInfo => {
   config.cdn = {
     repos_root_path: `${appInfo.baseDir}${sep}upload`,
     repos_root_url: '',
+    wxadio_path: `${appInfo.baseDir}${sep}upload${sep}wxadio${sep}`,
   };
 
   config.wx = {

+ 1 - 0
package.json

@@ -7,6 +7,7 @@
     "declarations": true
   },
   "dependencies": {
+    "amrToMp3": "^2.0.0",
     "await-stream-ready": "^1.0.1",
     "egg": "^2.15.1",
     "egg-scripts": "^2.11.0",