@zwa73/utils 1.0.186 → 1.0.187

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,6 +23,11 @@ declare class SFfmpegTool {
23
23
  * @param quality - 质量
24
24
  */
25
25
  static flac2ogg(inputFlacFile: string, outputOggPath: string, quality?: number): Promise<boolean>;
26
+ /**flac转wav
27
+ * @param inputFlacFile - 输入flac文件路径
28
+ * @param outputWavPath - 输出wav文件路径
29
+ */
30
+ static flac2wav(inputFlacFile: string, outputWavPath: string): Promise<boolean>;
26
31
  /**wav转ogg
27
32
  * @param inputWavPath - 输入wav文件路径
28
33
  * @param outputOggPath - 输出ogg文件路径
@@ -70,11 +70,27 @@ class SFfmpegTool {
70
70
  * @param quality - 质量
71
71
  */
72
72
  static async flac2ogg(inputFlacFile, outputOggPath, quality = 10) {
73
- let wavPath = pathe_1.default.join(pathe_1.default.dirname(inputFlacFile), `tmp_${pathe_1.default.basename(inputFlacFile, ".flac")}.wav`);
73
+ const wavPath = pathe_1.default.join(pathe_1.default.dirname(inputFlacFile), `tmp_${pathe_1.default.basename(inputFlacFile, ".flac")}.wav`);
74
+ await SFfmpegTool.flac2wav(inputFlacFile, wavPath);
75
+ await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
76
+ await new Promise((resolve, reject) => {
77
+ fs.unlink(wavPath, function (err) {
78
+ if (err)
79
+ UtilLogger_1.SLogger.error("SFfmpegTool.flac2ogg unlink 错误", err);
80
+ resolve(null);
81
+ });
82
+ });
83
+ return true;
84
+ }
85
+ /**flac转wav
86
+ * @param inputFlacFile - 输入flac文件路径
87
+ * @param outputWavPath - 输出wav文件路径
88
+ */
89
+ static async flac2wav(inputFlacFile, outputWavPath) {
74
90
  await new Promise((resolve, reject) => {
75
91
  const ins = (0, fluent_ffmpeg_1.default)(inputFlacFile)
76
92
  .audioCodec("pcm_s16le")
77
- .save(wavPath)
93
+ .save(outputWavPath)
78
94
  .on("end", () => {
79
95
  resolve(true);
80
96
  ins.kill('SIGTERM');
@@ -84,14 +100,6 @@ class SFfmpegTool {
84
100
  ins.kill('SIGTERM');
85
101
  });
86
102
  });
87
- await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
88
- await new Promise((resolve, reject) => {
89
- fs.unlink(wavPath, function (err) {
90
- if (err)
91
- UtilLogger_1.SLogger.error("SFfmpegTool.flac2ogg unlink 错误", err);
92
- resolve(null);
93
- });
94
- });
95
103
  return true;
96
104
  }
97
105
  /**wav转ogg
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zwa73/utils",
3
- "version": "1.0.186",
3
+ "version": "1.0.187",
4
4
  "description": "my utils",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -53,14 +53,33 @@ class SFfmpegTool {
53
53
  outputOggPath: string,
54
54
  quality: number = 10
55
55
  ): Promise<boolean> {
56
- let wavPath = path.join(
56
+ const wavPath = path.join(
57
57
  path.dirname(inputFlacFile),
58
58
  `tmp_${path.basename(inputFlacFile, ".flac")}.wav`
59
59
  );
60
+ await SFfmpegTool.flac2wav(inputFlacFile, wavPath);
61
+ await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
62
+ await new Promise((resolve, reject) => {
63
+ fs.unlink(wavPath, function (err) {
64
+ if (err) SLogger.error("SFfmpegTool.flac2ogg unlink 错误",err);
65
+ resolve(null);
66
+ });
67
+ });
68
+ return true;
69
+ }
70
+
71
+ /**flac转wav
72
+ * @param inputFlacFile - 输入flac文件路径
73
+ * @param outputWavPath - 输出wav文件路径
74
+ */
75
+ static async flac2wav(
76
+ inputFlacFile: string,
77
+ outputWavPath: string
78
+ ): Promise<boolean> {
60
79
  await new Promise((resolve, reject) => {
61
80
  const ins = fluentFfmpeg(inputFlacFile)
62
81
  .audioCodec("pcm_s16le")
63
- .save(wavPath)
82
+ .save(outputWavPath)
64
83
  .on("end", () => {
65
84
  resolve(true);
66
85
  ins.kill('SIGTERM');
@@ -70,15 +89,10 @@ class SFfmpegTool {
70
89
  ins.kill('SIGTERM');
71
90
  });
72
91
  });
73
- await SFfmpegTool.wav2ogg(wavPath, outputOggPath, quality);
74
- await new Promise((resolve, reject) => {
75
- fs.unlink(wavPath, function (err) {
76
- if (err) SLogger.error("SFfmpegTool.flac2ogg unlink 错误",err);
77
- resolve(null);
78
- });
79
- });
80
92
  return true;
81
93
  }
94
+
95
+
82
96
  /**wav转ogg
83
97
  * @param inputWavPath - 输入wav文件路径
84
98
  * @param outputOggPath - 输出ogg文件路径