@mingxy/ocosay 1.0.21 → 1.0.22
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.
- package/README.md +17 -3
- package/dist/core/backends/howler-backend.d.ts +1 -1
- package/dist/core/backends/howler-backend.d.ts.map +1 -1
- package/dist/core/backends/howler-backend.js +1 -1
- package/dist/core/backends/howler-backend.js.map +1 -1
- package/dist/core/backends/index.d.ts +1 -0
- package/dist/core/backends/index.d.ts.map +1 -1
- package/dist/core/backends/index.js +4 -0
- package/dist/core/backends/index.js.map +1 -1
- package/dist/core/player.d.ts.map +1 -1
- package/dist/core/player.js +2 -1
- package/dist/core/player.js.map +1 -1
- package/dist/plugin.js +170 -1
- package/dist/plugin.js.map +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,9 +28,23 @@
|
|
|
28
28
|
|
|
29
29
|
| 平台 | 支持状态 | 说明 |
|
|
30
30
|
|------|----------|------|
|
|
31
|
-
| macOS | ✅ 完全支持 |
|
|
32
|
-
| Linux | ✅ 完全支持 |
|
|
33
|
-
| Windows |
|
|
31
|
+
| macOS | ✅ 完全支持 | howler.js 跨平台音频后端 |
|
|
32
|
+
| Linux | ✅ 完全支持 | howler.js 跨平台音频后端 |
|
|
33
|
+
| Windows | ✅ 完全支持 | howler.js 跨平台音频后端 |
|
|
34
|
+
|
|
35
|
+
### 音频后端
|
|
36
|
+
|
|
37
|
+
ocosay 使用统一的 `AudioBackend` 架构:
|
|
38
|
+
|
|
39
|
+
| 后端 | 类型 | 说明 |
|
|
40
|
+
|------|------|------|
|
|
41
|
+
| **howler** | 跨平台 | 基于 howler.js,纯 JavaScript 实现,npm 直接安装无需编译 |
|
|
42
|
+
| naudiodon | 流式 | native 模块,支持真正的流式播放(需 npm install) |
|
|
43
|
+
| afplay | macOS | 系统命令 afplay |
|
|
44
|
+
| aplay | Linux | 系统命令 aplay |
|
|
45
|
+
| powershell | Windows | PowerShell PlaySync |
|
|
46
|
+
|
|
47
|
+
> **注意**: 流式播放(豆包模式)需要 naudiodon 后端支持。请执行 `npm install naudiodon` 安装。
|
|
34
48
|
|
|
35
49
|
## 安装方式
|
|
36
50
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { AudioBackend, BackendOptions } from './base';
|
|
6
6
|
export declare class HowlerBackend implements AudioBackend {
|
|
7
7
|
readonly name = "howler";
|
|
8
|
-
readonly supportsStreaming =
|
|
8
|
+
readonly supportsStreaming = false;
|
|
9
9
|
private howl;
|
|
10
10
|
private events?;
|
|
11
11
|
private _started;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"howler-backend.d.ts","sourceRoot":"","sources":["../../../src/core/backends/howler-backend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAsB,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEzE,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"howler-backend.d.ts","sourceRoot":"","sources":["../../../src/core/backends/howler-backend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAsB,cAAc,EAAE,MAAM,QAAQ,CAAA;AAEzE,qBAAa,aAAc,YAAW,YAAY;IAChD,QAAQ,CAAC,IAAI,YAAW;IACxB,QAAQ,CAAC,iBAAiB,SAAQ;IAElC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,CAAoB;IACnC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAwB;gBAE1B,OAAO,GAAE,cAAmB;IAMxC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAyC9B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IA6D1B,GAAG,IAAI,IAAI;IAIX,KAAK,IAAI,IAAI;IAUb,MAAM,IAAI,IAAI;IAUd,IAAI,IAAI,IAAI;IAwBZ,cAAc,IAAI,MAAM,GAAG,SAAS;IAOpC,WAAW,IAAI,MAAM,GAAG,SAAS;IAOjC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAO/B,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"howler-backend.js","sourceRoot":"","sources":["../../../src/core/backends/howler-backend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,MAAM,OAAO,aAAa;IACf,IAAI,GAAG,QAAQ,CAAA;IACf,iBAAiB,GAAG,
|
|
1
|
+
{"version":3,"file":"howler-backend.js","sourceRoot":"","sources":["../../../src/core/backends/howler-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAGzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAOrD;;GAEG;AACH,oBAAY,WAAW;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AA0BD,wBAAgB,KAAK,IAAI,OAAO,CAO/B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,WAA8B,EAAE,OAAO,GAAE,cAAmB,GAAG,YAAY,CA6B9G;AAmBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAK5D;AAED,wBAAgB,qBAAqB,IAAI,WAAW,CAiBnD"}
|
|
@@ -11,6 +11,7 @@ import { NaudiodonBackend } from './naudiodon-backend';
|
|
|
11
11
|
import { AfplayBackend } from './afplay-backend';
|
|
12
12
|
import { AplayBackend } from './aplay-backend';
|
|
13
13
|
import { PowerShellBackend } from './powershell-backend';
|
|
14
|
+
import { HowlerBackend } from './howler-backend';
|
|
14
15
|
/**
|
|
15
16
|
* 后端类型枚举
|
|
16
17
|
*/
|
|
@@ -20,6 +21,7 @@ export var BackendType;
|
|
|
20
21
|
BackendType["AFPLAY"] = "afplay";
|
|
21
22
|
BackendType["APLAY"] = "aplay";
|
|
22
23
|
BackendType["POWERSHELL"] = "powershell";
|
|
24
|
+
BackendType["HOWLER"] = "howler";
|
|
23
25
|
BackendType["AUTO"] = "auto";
|
|
24
26
|
})(BackendType || (BackendType = {}));
|
|
25
27
|
let naudiodonCache = null;
|
|
@@ -99,6 +101,8 @@ function createBackendByType(type, options) {
|
|
|
99
101
|
return new AplayBackend(options);
|
|
100
102
|
case BackendType.POWERSHELL:
|
|
101
103
|
return new PowerShellBackend(options);
|
|
104
|
+
case BackendType.HOWLER:
|
|
105
|
+
return new HowlerBackend(options);
|
|
102
106
|
default:
|
|
103
107
|
throw new Error(`Unknown backend type: ${type}`);
|
|
104
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/backends/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,UAAU;AACV,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/backends/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/core/player.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AASrC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,IAAI,IAAI,CAAA;IACd,IAAI,IAAI,IAAI,CAAA;IACZ,SAAS,IAAI,OAAO,CAAA;IACpB,QAAQ,IAAI,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAa,YAAW,MAAM;IAMjD,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY;IAL3C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;gBAEN,MAAM,CAAC,EAAE,YAAY,YAAA;IAwC3C;;;;OAIG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE7E;;;OAGG;IACH,OAAO,CAAC,QAAQ;
|
|
1
|
+
{"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/core/player.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AASrC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACnE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvE,KAAK,IAAI,IAAI,CAAA;IACb,MAAM,IAAI,IAAI,CAAA;IACd,IAAI,IAAI,IAAI,CAAA;IACZ,SAAS,IAAI,OAAO,CAAA;IACpB,QAAQ,IAAI,OAAO,CAAA;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,YAAa,YAAW,MAAM;IAMjD,SAAS,CAAC,MAAM,CAAC,EAAE,YAAY;IAL3C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAQ;gBAEN,MAAM,CAAC,EAAE,YAAY,YAAA;IAwC3C;;;;OAIG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmE7E;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAOhB,KAAK,IAAI,IAAI;IAMb,MAAM,IAAI,IAAI;IAMR,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,OAAO,CAAC,OAAO;CAYhB;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,cAAc,CAAI;gBAEd,MAAM,CAAC,EAAE,YAAY;IAIjC;;;;;OAKG;IACG,aAAa,CACjB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;CAoCjB;AAED,eAAe,WAAW,CAAA"}
|
package/dist/core/player.js
CHANGED
|
@@ -121,8 +121,9 @@ export class AudioPlayer extends EventEmitter {
|
|
|
121
121
|
* 使用 AudioBackend 统一后端播放
|
|
122
122
|
*/
|
|
123
123
|
playFile(filePath, _format) {
|
|
124
|
-
return new Promise((
|
|
124
|
+
return new Promise((resolve) => {
|
|
125
125
|
this.backend.start(filePath);
|
|
126
|
+
resolve(); // backend.start() 是同步的,立即 resolve
|
|
126
127
|
});
|
|
127
128
|
}
|
|
128
129
|
pause() {
|
package/dist/core/player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/core/player.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA4BvD;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAMrB;IALd,QAAQ,GAAG,KAAK,CAAA;IAChB,OAAO,GAAG,KAAK,CAAA;IACf,OAAO,CAAc;IACrB,WAAW,CAAS;IAE5B,YAAsB,MAAqB;QACzC,KAAK,EAAE,CAAA;QADa,WAAM,GAAN,MAAM,CAAe;QAEzC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE;YAC7C,MAAM,EAAE;gBACN,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;oBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAA;oBACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAChB,IAAI,CAAC,OAAO,EAAE,CAAA;gBAChB,CAAC;gBACD,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;oBACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,KAAK,CAAC,OAAO,IAAI,iBAAiB,EAClC,YAAY,CAAC,YAAY,EACzB,QAAQ,CACT,CAAA;oBACD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;oBAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAC9B,CAAC;gBACD,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;oBACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAA;oBACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrB,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAA;oBACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBACnB,CAAC;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,SAAkC,EAAE,MAAc;QAC3D,aAAa;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QAEpB,IAAI,CAAC;YACH,cAAc;YACd,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;YACjE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAA;YAE3B,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;YACvC,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,CAAA;gBAEpC,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;wBAC3C,IAAI,IAAI;4BAAE,MAAK;wBACf,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;4BAChC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;wBACvC,CAAC;oBACH,CAAC;oBACD,WAAW,CAAC,GAAG,EAAE,CAAA;gBACnB,CAAC;wBAAS,CAAC;oBACT,MAAM,CAAC,WAAW,EAAE,CAAA;gBACtB,CAAC;gBAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;oBACjC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACjC,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,SAAS;YACT,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;YACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAElB,YAAY;YACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAErC,OAAO;YACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACrB,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAA;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEhB,SAAS;YACT,IAAI,CAAC,OAAO,EAAE,CAAA;QAEhB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACrB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,KAAK,CAAC,OAAO,IAAI,iBAAiB,EAClC,YAAY,CAAC,YAAY,EACzB,QAAQ,CACT,CAAA;YACD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;YAChC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC5B,MAAM,QAAQ,CAAA;QAChB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,QAAgB,EAAE,OAAe;QAChD,OAAO,IAAI,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/core/player.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.js
CHANGED
|
@@ -2831,6 +2831,172 @@ var PowerShellBackend = class {
|
|
|
2831
2831
|
|
|
2832
2832
|
// src/core/backends/howler-backend.ts
|
|
2833
2833
|
var import_howler = __toESM(require_howler(), 1);
|
|
2834
|
+
var HowlerBackend = class {
|
|
2835
|
+
name = "howler";
|
|
2836
|
+
supportsStreaming = false;
|
|
2837
|
+
// Howler.js 不支持真正的流式播放
|
|
2838
|
+
howl = null;
|
|
2839
|
+
events;
|
|
2840
|
+
_started = false;
|
|
2841
|
+
_paused = false;
|
|
2842
|
+
_stopped = false;
|
|
2843
|
+
volume = 1;
|
|
2844
|
+
bytesWritten = 0;
|
|
2845
|
+
blobUrl = null;
|
|
2846
|
+
format;
|
|
2847
|
+
constructor(options = {}) {
|
|
2848
|
+
this.events = options.events;
|
|
2849
|
+
this.volume = options.volume ?? 1;
|
|
2850
|
+
this.format = options.format || "mp3";
|
|
2851
|
+
}
|
|
2852
|
+
start(_filePath) {
|
|
2853
|
+
if (this._started) {
|
|
2854
|
+
this.stop();
|
|
2855
|
+
}
|
|
2856
|
+
this._started = true;
|
|
2857
|
+
this._stopped = false;
|
|
2858
|
+
this._paused = false;
|
|
2859
|
+
this.bytesWritten = 0;
|
|
2860
|
+
this.howl = new import_howler.Howl({
|
|
2861
|
+
src: [""],
|
|
2862
|
+
// 初始为空
|
|
2863
|
+
html5: true,
|
|
2864
|
+
// 启用 HTML5 Audio 模式支持流式
|
|
2865
|
+
volume: this.volume,
|
|
2866
|
+
format: [this.format],
|
|
2867
|
+
onplay: () => {
|
|
2868
|
+
this.events?.onStart?.();
|
|
2869
|
+
},
|
|
2870
|
+
onpause: () => {
|
|
2871
|
+
if (!this._stopped) {
|
|
2872
|
+
this.events?.onPause?.();
|
|
2873
|
+
}
|
|
2874
|
+
},
|
|
2875
|
+
onstop: () => {
|
|
2876
|
+
if (!this._stopped) {
|
|
2877
|
+
this.events?.onStop?.();
|
|
2878
|
+
}
|
|
2879
|
+
},
|
|
2880
|
+
onend: () => {
|
|
2881
|
+
this.events?.onEnd?.();
|
|
2882
|
+
},
|
|
2883
|
+
onloaderror: (_id, error) => {
|
|
2884
|
+
this.handleError(new Error(`Howler load error: ${error}`));
|
|
2885
|
+
},
|
|
2886
|
+
onplayerror: (_id, error) => {
|
|
2887
|
+
this.handleError(new Error(`Howler play error: ${error}`));
|
|
2888
|
+
}
|
|
2889
|
+
});
|
|
2890
|
+
}
|
|
2891
|
+
write(chunk) {
|
|
2892
|
+
if (!this._started || this._stopped) return;
|
|
2893
|
+
if (!this.howl) return;
|
|
2894
|
+
this.bytesWritten += chunk.length;
|
|
2895
|
+
this.events?.onProgress?.(this.bytesWritten);
|
|
2896
|
+
const blob = new Blob([chunk], { type: `audio/${this.format}` });
|
|
2897
|
+
if (this.blobUrl) {
|
|
2898
|
+
URL.revokeObjectURL(this.blobUrl);
|
|
2899
|
+
}
|
|
2900
|
+
this.blobUrl = URL.createObjectURL(blob);
|
|
2901
|
+
const wasPlaying = this.howl.playing();
|
|
2902
|
+
this.howl.stop();
|
|
2903
|
+
this.howl.unload();
|
|
2904
|
+
this.howl = new import_howler.Howl({
|
|
2905
|
+
src: [this.blobUrl],
|
|
2906
|
+
html5: true,
|
|
2907
|
+
volume: this.volume,
|
|
2908
|
+
format: [this.format],
|
|
2909
|
+
onplay: () => {
|
|
2910
|
+
if (!wasPlaying) {
|
|
2911
|
+
this.events?.onStart?.();
|
|
2912
|
+
}
|
|
2913
|
+
},
|
|
2914
|
+
onpause: () => {
|
|
2915
|
+
if (!this._stopped) {
|
|
2916
|
+
this.events?.onPause?.();
|
|
2917
|
+
}
|
|
2918
|
+
},
|
|
2919
|
+
onstop: () => {
|
|
2920
|
+
if (!this._stopped) {
|
|
2921
|
+
this.events?.onStop?.();
|
|
2922
|
+
}
|
|
2923
|
+
},
|
|
2924
|
+
onend: () => {
|
|
2925
|
+
this.events?.onEnd?.();
|
|
2926
|
+
},
|
|
2927
|
+
onloaderror: (_id, error) => {
|
|
2928
|
+
this.handleError(new Error(`Howler load error: ${error}`));
|
|
2929
|
+
},
|
|
2930
|
+
onplayerror: (_id, error) => {
|
|
2931
|
+
this.handleError(new Error(`Howler play error: ${error}`));
|
|
2932
|
+
}
|
|
2933
|
+
});
|
|
2934
|
+
if (wasPlaying || this._started) {
|
|
2935
|
+
this.howl.play();
|
|
2936
|
+
}
|
|
2937
|
+
}
|
|
2938
|
+
end() {
|
|
2939
|
+
}
|
|
2940
|
+
pause() {
|
|
2941
|
+
if (!this._started || this._paused || this._stopped) return;
|
|
2942
|
+
if (this.howl && this.howl.playing()) {
|
|
2943
|
+
this.howl.pause();
|
|
2944
|
+
this._paused = true;
|
|
2945
|
+
this.events?.onPause?.();
|
|
2946
|
+
}
|
|
2947
|
+
}
|
|
2948
|
+
resume() {
|
|
2949
|
+
if (!this._paused || this._stopped) return;
|
|
2950
|
+
if (this.howl) {
|
|
2951
|
+
this.howl.play();
|
|
2952
|
+
this._paused = false;
|
|
2953
|
+
this.events?.onResume?.();
|
|
2954
|
+
}
|
|
2955
|
+
}
|
|
2956
|
+
stop() {
|
|
2957
|
+
this._stopped = true;
|
|
2958
|
+
this._started = false;
|
|
2959
|
+
this._paused = false;
|
|
2960
|
+
if (this.howl) {
|
|
2961
|
+
try {
|
|
2962
|
+
this.howl.stop();
|
|
2963
|
+
this.howl.unload();
|
|
2964
|
+
} catch (e) {
|
|
2965
|
+
}
|
|
2966
|
+
this.howl = null;
|
|
2967
|
+
}
|
|
2968
|
+
if (this.blobUrl) {
|
|
2969
|
+
URL.revokeObjectURL(this.blobUrl);
|
|
2970
|
+
this.blobUrl = null;
|
|
2971
|
+
}
|
|
2972
|
+
this.bytesWritten = 0;
|
|
2973
|
+
this.events?.onStop?.();
|
|
2974
|
+
}
|
|
2975
|
+
getCurrentTime() {
|
|
2976
|
+
if (this.howl) {
|
|
2977
|
+
return this.howl.seek();
|
|
2978
|
+
}
|
|
2979
|
+
return void 0;
|
|
2980
|
+
}
|
|
2981
|
+
getDuration() {
|
|
2982
|
+
if (this.howl) {
|
|
2983
|
+
return this.howl.duration();
|
|
2984
|
+
}
|
|
2985
|
+
return void 0;
|
|
2986
|
+
}
|
|
2987
|
+
setVolume(volume) {
|
|
2988
|
+
this.volume = Math.max(0, Math.min(1, volume));
|
|
2989
|
+
if (this.howl) {
|
|
2990
|
+
this.howl.volume(this.volume);
|
|
2991
|
+
}
|
|
2992
|
+
}
|
|
2993
|
+
destroy() {
|
|
2994
|
+
this.stop();
|
|
2995
|
+
}
|
|
2996
|
+
handleError(error) {
|
|
2997
|
+
this.events?.onError?.(error);
|
|
2998
|
+
}
|
|
2999
|
+
};
|
|
2834
3000
|
|
|
2835
3001
|
// src/core/backends/index.ts
|
|
2836
3002
|
function isNaudiodonAvailable() {
|
|
@@ -2887,6 +3053,8 @@ function createBackendByType(type, options) {
|
|
|
2887
3053
|
return new AplayBackend(options);
|
|
2888
3054
|
case "powershell" /* POWERSHELL */:
|
|
2889
3055
|
return new PowerShellBackend(options);
|
|
3056
|
+
case "howler" /* HOWLER */:
|
|
3057
|
+
return new HowlerBackend(options);
|
|
2890
3058
|
default:
|
|
2891
3059
|
throw new Error(`Unknown backend type: ${type}`);
|
|
2892
3060
|
}
|
|
@@ -2999,8 +3167,9 @@ var AudioPlayer = class extends EventEmitter {
|
|
|
2999
3167
|
* 使用 AudioBackend 统一后端播放
|
|
3000
3168
|
*/
|
|
3001
3169
|
playFile(filePath, _format) {
|
|
3002
|
-
return new Promise((
|
|
3170
|
+
return new Promise((resolve) => {
|
|
3003
3171
|
this.backend.start(filePath);
|
|
3172
|
+
resolve();
|
|
3004
3173
|
});
|
|
3005
3174
|
}
|
|
3006
3175
|
pause() {
|