@capgo/native-audio 5.1.3 → 5.1.13
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +58 -36
- package/android/src/main/java/ee/forgr/audio/AudioAsset.java +126 -106
- package/android/src/main/java/ee/forgr/audio/AudioDispatcher.java +185 -168
- package/android/src/main/java/ee/forgr/audio/Constant.java +14 -13
- package/android/src/main/java/ee/forgr/audio/NativeAudio.java +453 -403
- package/dist/docs.json +107 -27
- package/dist/esm/definitions.d.ts +16 -0
- package/dist/esm/index.d.ts +2 -2
- package/dist/esm/index.js +4 -4
- package/dist/esm/web.d.ts +3 -3
- package/dist/esm/web.js +20 -19
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +19 -18
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +19 -18
- package/dist/plugin.js.map +1 -1
- package/ios/Plugin/AudioAsset.swift +38 -45
- package/ios/Plugin/Constant.swift +1 -0
- package/ios/Plugin/Plugin.swift +15 -11
- package/package.json +14 -13
package/dist/docs.json
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
"methods": [
|
8
8
|
{
|
9
9
|
"name": "configure",
|
10
|
-
"signature": "(options: ConfigureOptions) =>
|
10
|
+
"signature": "(options: ConfigureOptions) => Promise<void>",
|
11
11
|
"parameters": [
|
12
12
|
{
|
13
13
|
"name": "options",
|
@@ -15,7 +15,7 @@
|
|
15
15
|
"type": "ConfigureOptions"
|
16
16
|
}
|
17
17
|
],
|
18
|
-
"returns": "
|
18
|
+
"returns": "Promise<void>",
|
19
19
|
"tags": [],
|
20
20
|
"docs": "",
|
21
21
|
"complexTypes": [
|
@@ -25,7 +25,7 @@
|
|
25
25
|
},
|
26
26
|
{
|
27
27
|
"name": "preload",
|
28
|
-
"signature": "(options: PreloadOptions) =>
|
28
|
+
"signature": "(options: PreloadOptions) => Promise<void>",
|
29
29
|
"parameters": [
|
30
30
|
{
|
31
31
|
"name": "options",
|
@@ -33,7 +33,7 @@
|
|
33
33
|
"type": "PreloadOptions"
|
34
34
|
}
|
35
35
|
],
|
36
|
-
"returns": "
|
36
|
+
"returns": "Promise<void>",
|
37
37
|
"tags": [],
|
38
38
|
"docs": "",
|
39
39
|
"complexTypes": [
|
@@ -43,7 +43,7 @@
|
|
43
43
|
},
|
44
44
|
{
|
45
45
|
"name": "play",
|
46
|
-
"signature": "(options: { assetId: string; time?: number; }) =>
|
46
|
+
"signature": "(options: { assetId: string; time?: number; }) => Promise<void>",
|
47
47
|
"parameters": [
|
48
48
|
{
|
49
49
|
"name": "options",
|
@@ -51,7 +51,7 @@
|
|
51
51
|
"type": "{ assetId: string; time?: number | undefined; }"
|
52
52
|
}
|
53
53
|
],
|
54
|
-
"returns": "
|
54
|
+
"returns": "Promise<void>",
|
55
55
|
"tags": [],
|
56
56
|
"docs": "",
|
57
57
|
"complexTypes": [],
|
@@ -59,7 +59,7 @@
|
|
59
59
|
},
|
60
60
|
{
|
61
61
|
"name": "pause",
|
62
|
-
"signature": "(options: { assetId: string; }) =>
|
62
|
+
"signature": "(options: { assetId: string; }) => Promise<void>",
|
63
63
|
"parameters": [
|
64
64
|
{
|
65
65
|
"name": "options",
|
@@ -67,7 +67,7 @@
|
|
67
67
|
"type": "{ assetId: string; }"
|
68
68
|
}
|
69
69
|
],
|
70
|
-
"returns": "
|
70
|
+
"returns": "Promise<void>",
|
71
71
|
"tags": [],
|
72
72
|
"docs": "",
|
73
73
|
"complexTypes": [],
|
@@ -75,7 +75,7 @@
|
|
75
75
|
},
|
76
76
|
{
|
77
77
|
"name": "resume",
|
78
|
-
"signature": "(options: { assetId: string; }) =>
|
78
|
+
"signature": "(options: { assetId: string; }) => Promise<void>",
|
79
79
|
"parameters": [
|
80
80
|
{
|
81
81
|
"name": "options",
|
@@ -83,7 +83,7 @@
|
|
83
83
|
"type": "{ assetId: string; }"
|
84
84
|
}
|
85
85
|
],
|
86
|
-
"returns": "
|
86
|
+
"returns": "Promise<void>",
|
87
87
|
"tags": [],
|
88
88
|
"docs": "",
|
89
89
|
"complexTypes": [],
|
@@ -91,7 +91,7 @@
|
|
91
91
|
},
|
92
92
|
{
|
93
93
|
"name": "loop",
|
94
|
-
"signature": "(options: { assetId: string; }) =>
|
94
|
+
"signature": "(options: { assetId: string; }) => Promise<void>",
|
95
95
|
"parameters": [
|
96
96
|
{
|
97
97
|
"name": "options",
|
@@ -99,7 +99,7 @@
|
|
99
99
|
"type": "{ assetId: string; }"
|
100
100
|
}
|
101
101
|
],
|
102
|
-
"returns": "
|
102
|
+
"returns": "Promise<void>",
|
103
103
|
"tags": [],
|
104
104
|
"docs": "",
|
105
105
|
"complexTypes": [],
|
@@ -107,7 +107,7 @@
|
|
107
107
|
},
|
108
108
|
{
|
109
109
|
"name": "stop",
|
110
|
-
"signature": "(options: { assetId: string; }) =>
|
110
|
+
"signature": "(options: { assetId: string; }) => Promise<void>",
|
111
111
|
"parameters": [
|
112
112
|
{
|
113
113
|
"name": "options",
|
@@ -115,7 +115,7 @@
|
|
115
115
|
"type": "{ assetId: string; }"
|
116
116
|
}
|
117
117
|
],
|
118
|
-
"returns": "
|
118
|
+
"returns": "Promise<void>",
|
119
119
|
"tags": [],
|
120
120
|
"docs": "",
|
121
121
|
"complexTypes": [],
|
@@ -123,7 +123,7 @@
|
|
123
123
|
},
|
124
124
|
{
|
125
125
|
"name": "unload",
|
126
|
-
"signature": "(options: { assetId: string; }) =>
|
126
|
+
"signature": "(options: { assetId: string; }) => Promise<void>",
|
127
127
|
"parameters": [
|
128
128
|
{
|
129
129
|
"name": "options",
|
@@ -131,7 +131,7 @@
|
|
131
131
|
"type": "{ assetId: string; }"
|
132
132
|
}
|
133
133
|
],
|
134
|
-
"returns": "
|
134
|
+
"returns": "Promise<void>",
|
135
135
|
"tags": [],
|
136
136
|
"docs": "",
|
137
137
|
"complexTypes": [],
|
@@ -139,7 +139,7 @@
|
|
139
139
|
},
|
140
140
|
{
|
141
141
|
"name": "setVolume",
|
142
|
-
"signature": "(options: { assetId: string; volume: number; }) =>
|
142
|
+
"signature": "(options: { assetId: string; volume: number; }) => Promise<void>",
|
143
143
|
"parameters": [
|
144
144
|
{
|
145
145
|
"name": "options",
|
@@ -147,7 +147,7 @@
|
|
147
147
|
"type": "{ assetId: string; volume: number; }"
|
148
148
|
}
|
149
149
|
],
|
150
|
-
"returns": "
|
150
|
+
"returns": "Promise<void>",
|
151
151
|
"tags": [],
|
152
152
|
"docs": "",
|
153
153
|
"complexTypes": [],
|
@@ -155,7 +155,7 @@
|
|
155
155
|
},
|
156
156
|
{
|
157
157
|
"name": "setRate",
|
158
|
-
"signature": "(options: { assetId: string; rate: number; }) =>
|
158
|
+
"signature": "(options: { assetId: string; rate: number; }) => Promise<void>",
|
159
159
|
"parameters": [
|
160
160
|
{
|
161
161
|
"name": "options",
|
@@ -163,7 +163,7 @@
|
|
163
163
|
"type": "{ assetId: string; rate: number; }"
|
164
164
|
}
|
165
165
|
],
|
166
|
-
"returns": "
|
166
|
+
"returns": "Promise<void>",
|
167
167
|
"tags": [],
|
168
168
|
"docs": "",
|
169
169
|
"complexTypes": [],
|
@@ -171,7 +171,7 @@
|
|
171
171
|
},
|
172
172
|
{
|
173
173
|
"name": "getCurrentTime",
|
174
|
-
"signature": "(options: { assetId: string; }) =>
|
174
|
+
"signature": "(options: { assetId: string; }) => Promise<{ currentTime: number; }>",
|
175
175
|
"parameters": [
|
176
176
|
{
|
177
177
|
"name": "options",
|
@@ -179,7 +179,7 @@
|
|
179
179
|
"type": "{ assetId: string; }"
|
180
180
|
}
|
181
181
|
],
|
182
|
-
"returns": "
|
182
|
+
"returns": "Promise<{ currentTime: number; }>",
|
183
183
|
"tags": [],
|
184
184
|
"docs": "",
|
185
185
|
"complexTypes": [],
|
@@ -187,7 +187,7 @@
|
|
187
187
|
},
|
188
188
|
{
|
189
189
|
"name": "getDuration",
|
190
|
-
"signature": "(options: { assetId: string; }) =>
|
190
|
+
"signature": "(options: { assetId: string; }) => Promise<{ duration: number; }>",
|
191
191
|
"parameters": [
|
192
192
|
{
|
193
193
|
"name": "options",
|
@@ -195,7 +195,7 @@
|
|
195
195
|
"type": "{ assetId: string; }"
|
196
196
|
}
|
197
197
|
],
|
198
|
-
"returns": "
|
198
|
+
"returns": "Promise<{ duration: number; }>",
|
199
199
|
"tags": [],
|
200
200
|
"docs": "",
|
201
201
|
"complexTypes": [],
|
@@ -203,7 +203,7 @@
|
|
203
203
|
},
|
204
204
|
{
|
205
205
|
"name": "isPlaying",
|
206
|
-
"signature": "(options: { assetId: string; }) =>
|
206
|
+
"signature": "(options: { assetId: string; }) => Promise<{ isPlaying: boolean; }>",
|
207
207
|
"parameters": [
|
208
208
|
{
|
209
209
|
"name": "options",
|
@@ -211,11 +211,40 @@
|
|
211
211
|
"type": "{ assetId: string; }"
|
212
212
|
}
|
213
213
|
],
|
214
|
-
"returns": "
|
214
|
+
"returns": "Promise<{ isPlaying: boolean; }>",
|
215
215
|
"tags": [],
|
216
216
|
"docs": "",
|
217
217
|
"complexTypes": [],
|
218
218
|
"slug": "isplaying"
|
219
|
+
},
|
220
|
+
{
|
221
|
+
"name": "addListener",
|
222
|
+
"signature": "(eventName: \"complete\", listenerFunc: CompletedListener) => Promise<PluginListenerHandle> & PluginListenerHandle",
|
223
|
+
"parameters": [
|
224
|
+
{
|
225
|
+
"name": "eventName",
|
226
|
+
"docs": "",
|
227
|
+
"type": "'complete'"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"name": "listenerFunc",
|
231
|
+
"docs": "",
|
232
|
+
"type": "CompletedListener"
|
233
|
+
}
|
234
|
+
],
|
235
|
+
"returns": "Promise<PluginListenerHandle> & PluginListenerHandle",
|
236
|
+
"tags": [
|
237
|
+
{
|
238
|
+
"name": "since",
|
239
|
+
"text": "5.0.0"
|
240
|
+
}
|
241
|
+
],
|
242
|
+
"docs": "Listen for complete event",
|
243
|
+
"complexTypes": [
|
244
|
+
"PluginListenerHandle",
|
245
|
+
"CompletedListener"
|
246
|
+
],
|
247
|
+
"slug": "addlistenercomplete"
|
219
248
|
}
|
220
249
|
],
|
221
250
|
"properties": []
|
@@ -287,9 +316,60 @@
|
|
287
316
|
"type": "boolean | undefined"
|
288
317
|
}
|
289
318
|
]
|
319
|
+
},
|
320
|
+
{
|
321
|
+
"name": "PluginListenerHandle",
|
322
|
+
"slug": "pluginlistenerhandle",
|
323
|
+
"docs": "",
|
324
|
+
"tags": [],
|
325
|
+
"methods": [],
|
326
|
+
"properties": [
|
327
|
+
{
|
328
|
+
"name": "remove",
|
329
|
+
"tags": [],
|
330
|
+
"docs": "",
|
331
|
+
"complexTypes": [],
|
332
|
+
"type": "() => Promise<void>"
|
333
|
+
}
|
334
|
+
]
|
335
|
+
},
|
336
|
+
{
|
337
|
+
"name": "CompletedEvent",
|
338
|
+
"slug": "completedevent",
|
339
|
+
"docs": "",
|
340
|
+
"tags": [],
|
341
|
+
"methods": [],
|
342
|
+
"properties": [
|
343
|
+
{
|
344
|
+
"name": "assetId",
|
345
|
+
"tags": [
|
346
|
+
{
|
347
|
+
"text": "5.0.0",
|
348
|
+
"name": "since"
|
349
|
+
}
|
350
|
+
],
|
351
|
+
"docs": "Emit when a play completes",
|
352
|
+
"complexTypes": [],
|
353
|
+
"type": "string"
|
354
|
+
}
|
355
|
+
]
|
290
356
|
}
|
291
357
|
],
|
292
358
|
"enums": [],
|
293
|
-
"typeAliases": [
|
359
|
+
"typeAliases": [
|
360
|
+
{
|
361
|
+
"name": "CompletedListener",
|
362
|
+
"slug": "completedlistener",
|
363
|
+
"docs": "",
|
364
|
+
"types": [
|
365
|
+
{
|
366
|
+
"text": "(state: CompletedEvent): void",
|
367
|
+
"complexTypes": [
|
368
|
+
"CompletedEvent"
|
369
|
+
]
|
370
|
+
}
|
371
|
+
]
|
372
|
+
}
|
373
|
+
],
|
294
374
|
"pluginConfigs": []
|
295
375
|
}
|
@@ -1,3 +1,13 @@
|
|
1
|
+
import type { PluginListenerHandle } from "@capacitor/core";
|
2
|
+
export interface CompletedEvent {
|
3
|
+
/**
|
4
|
+
* Emit when a play completes
|
5
|
+
*
|
6
|
+
* @since 5.0.0
|
7
|
+
*/
|
8
|
+
assetId: string;
|
9
|
+
}
|
10
|
+
export type CompletedListener = (state: CompletedEvent) => void;
|
1
11
|
export interface NativeAudio {
|
2
12
|
configure(options: ConfigureOptions): Promise<void>;
|
3
13
|
preload(options: PreloadOptions): Promise<void>;
|
@@ -43,6 +53,12 @@ export interface NativeAudio {
|
|
43
53
|
}): Promise<{
|
44
54
|
isPlaying: boolean;
|
45
55
|
}>;
|
56
|
+
/**
|
57
|
+
* Listen for complete event
|
58
|
+
*
|
59
|
+
* @since 5.0.0
|
60
|
+
*/
|
61
|
+
addListener(eventName: "complete", listenerFunc: CompletedListener): Promise<PluginListenerHandle> & PluginListenerHandle;
|
46
62
|
}
|
47
63
|
export interface ConfigureOptions {
|
48
64
|
fade?: boolean;
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { registerPlugin } from
|
2
|
-
const NativeAudio = registerPlugin(
|
3
|
-
web: () => import(
|
1
|
+
import { registerPlugin } from "@capacitor/core";
|
2
|
+
const NativeAudio = registerPlugin("NativeAudio", {
|
3
|
+
web: () => import("./web").then((m) => new m.NativeAudioWeb()),
|
4
4
|
});
|
5
|
-
export * from
|
5
|
+
export * from "./definitions";
|
6
6
|
export { NativeAudio };
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/web.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { WebPlugin } from
|
2
|
-
import type { ConfigureOptions, PreloadOptions } from
|
3
|
-
import { NativeAudio } from
|
1
|
+
import { WebPlugin } from "@capacitor/core";
|
2
|
+
import type { ConfigureOptions, PreloadOptions } from "./definitions";
|
3
|
+
import { NativeAudio } from "./definitions";
|
4
4
|
export declare class NativeAudioWeb extends WebPlugin implements NativeAudio {
|
5
5
|
private static readonly FILE_LOCATION;
|
6
6
|
private static readonly AUDIO_ASSET_BY_ASSET_ID;
|
package/dist/esm/web.js
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
import { WebPlugin } from
|
2
|
-
import { AudioAsset } from
|
1
|
+
import { WebPlugin } from "@capacitor/core";
|
2
|
+
import { AudioAsset } from "./audio-asset";
|
3
3
|
export class NativeAudioWeb extends WebPlugin {
|
4
4
|
constructor() {
|
5
5
|
super({
|
6
|
-
name:
|
7
|
-
platforms: [
|
6
|
+
name: "NativeAudio",
|
7
|
+
platforms: ["web"],
|
8
8
|
});
|
9
9
|
}
|
10
10
|
async resume(options) {
|
@@ -24,10 +24,10 @@ export class NativeAudioWeb extends WebPlugin {
|
|
24
24
|
async getDuration(options) {
|
25
25
|
const audio = this.getAudioAsset(options.assetId).audio;
|
26
26
|
if (Number.isNaN(audio.duration)) {
|
27
|
-
throw
|
27
|
+
throw "no duration available";
|
28
28
|
}
|
29
29
|
if (!Number.isFinite(audio.duration)) {
|
30
|
-
throw
|
30
|
+
throw "duration not available => media resource is streaming";
|
31
31
|
}
|
32
32
|
return { duration: audio.duration };
|
33
33
|
}
|
@@ -37,19 +37,20 @@ export class NativeAudioWeb extends WebPlugin {
|
|
37
37
|
async preload(options) {
|
38
38
|
var _a;
|
39
39
|
if (NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(options.assetId)) {
|
40
|
-
throw
|
40
|
+
throw "AssetId already exists. Unload first if like to change!";
|
41
41
|
}
|
42
42
|
if (!((_a = options.assetPath) === null || _a === void 0 ? void 0 : _a.length)) {
|
43
|
-
throw
|
43
|
+
throw "no assetPath provided";
|
44
44
|
}
|
45
|
-
if (!options.isUrl &&
|
46
|
-
|
45
|
+
if (!options.isUrl &&
|
46
|
+
!new RegExp("^/?" + NativeAudioWeb.FILE_LOCATION).test(options.assetPath)) {
|
47
|
+
const slashPrefix = options.assetPath.startsWith("/") ? "" : "/";
|
47
48
|
options.assetPath = `${NativeAudioWeb.FILE_LOCATION}${slashPrefix}${options.assetPath}`;
|
48
49
|
}
|
49
50
|
const audio = new Audio(options.assetPath);
|
50
51
|
audio.autoplay = false;
|
51
52
|
audio.loop = false;
|
52
|
-
audio.preload =
|
53
|
+
audio.preload = "auto";
|
53
54
|
if (options.volume) {
|
54
55
|
audio.volume = options.volume;
|
55
56
|
}
|
@@ -80,15 +81,15 @@ export class NativeAudioWeb extends WebPlugin {
|
|
80
81
|
NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.delete(options.assetId);
|
81
82
|
}
|
82
83
|
async setVolume(options) {
|
83
|
-
if (typeof (options === null || options === void 0 ? void 0 : options.volume) !==
|
84
|
-
throw
|
84
|
+
if (typeof (options === null || options === void 0 ? void 0 : options.volume) !== "number") {
|
85
|
+
throw "no volume provided";
|
85
86
|
}
|
86
87
|
const audio = this.getAudioAsset(options.assetId).audio;
|
87
88
|
audio.volume = options.volume;
|
88
89
|
}
|
89
90
|
async setRate(options) {
|
90
|
-
if (typeof (options === null || options === void 0 ? void 0 : options.rate) !==
|
91
|
-
throw
|
91
|
+
if (typeof (options === null || options === void 0 ? void 0 : options.rate) !== "number") {
|
92
|
+
throw "no rate provided";
|
92
93
|
}
|
93
94
|
const audio = this.getAudioAsset(options.assetId).audio;
|
94
95
|
audio.playbackRate = options.rate;
|
@@ -105,15 +106,15 @@ export class NativeAudioWeb extends WebPlugin {
|
|
105
106
|
return NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.get(assetId);
|
106
107
|
}
|
107
108
|
checkAssetId(assetId) {
|
108
|
-
if (typeof assetId !==
|
109
|
-
throw
|
109
|
+
if (typeof assetId !== "string") {
|
110
|
+
throw "assetId must be a string";
|
110
111
|
}
|
111
112
|
if (!(assetId === null || assetId === void 0 ? void 0 : assetId.length)) {
|
112
|
-
throw
|
113
|
+
throw "no assetId provided";
|
113
114
|
}
|
114
115
|
}
|
115
116
|
}
|
116
|
-
NativeAudioWeb.FILE_LOCATION =
|
117
|
+
NativeAudioWeb.FILE_LOCATION = "";
|
117
118
|
NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID = new Map();
|
118
119
|
const NativeAudio = new NativeAudioWeb();
|
119
120
|
export { NativeAudio };
|
package/dist/esm/web.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,MAAM,OAAO,cAAe,SAAQ,SAAS;
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.cjs.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
var core = require('@capacitor/core');
|
4
4
|
|
5
|
-
const NativeAudio$1 = core.registerPlugin(
|
5
|
+
const NativeAudio$1 = core.registerPlugin("NativeAudio", {
|
6
6
|
web: () => Promise.resolve().then(function () { return web; }).then((m) => new m.NativeAudioWeb()),
|
7
7
|
});
|
8
8
|
|
@@ -15,8 +15,8 @@ class AudioAsset {
|
|
15
15
|
class NativeAudioWeb extends core.WebPlugin {
|
16
16
|
constructor() {
|
17
17
|
super({
|
18
|
-
name:
|
19
|
-
platforms: [
|
18
|
+
name: "NativeAudio",
|
19
|
+
platforms: ["web"],
|
20
20
|
});
|
21
21
|
}
|
22
22
|
async resume(options) {
|
@@ -36,10 +36,10 @@ class NativeAudioWeb extends core.WebPlugin {
|
|
36
36
|
async getDuration(options) {
|
37
37
|
const audio = this.getAudioAsset(options.assetId).audio;
|
38
38
|
if (Number.isNaN(audio.duration)) {
|
39
|
-
throw
|
39
|
+
throw "no duration available";
|
40
40
|
}
|
41
41
|
if (!Number.isFinite(audio.duration)) {
|
42
|
-
throw
|
42
|
+
throw "duration not available => media resource is streaming";
|
43
43
|
}
|
44
44
|
return { duration: audio.duration };
|
45
45
|
}
|
@@ -49,19 +49,20 @@ class NativeAudioWeb extends core.WebPlugin {
|
|
49
49
|
async preload(options) {
|
50
50
|
var _a;
|
51
51
|
if (NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(options.assetId)) {
|
52
|
-
throw
|
52
|
+
throw "AssetId already exists. Unload first if like to change!";
|
53
53
|
}
|
54
54
|
if (!((_a = options.assetPath) === null || _a === void 0 ? void 0 : _a.length)) {
|
55
|
-
throw
|
55
|
+
throw "no assetPath provided";
|
56
56
|
}
|
57
|
-
if (!options.isUrl &&
|
58
|
-
|
57
|
+
if (!options.isUrl &&
|
58
|
+
!new RegExp("^/?" + NativeAudioWeb.FILE_LOCATION).test(options.assetPath)) {
|
59
|
+
const slashPrefix = options.assetPath.startsWith("/") ? "" : "/";
|
59
60
|
options.assetPath = `${NativeAudioWeb.FILE_LOCATION}${slashPrefix}${options.assetPath}`;
|
60
61
|
}
|
61
62
|
const audio = new Audio(options.assetPath);
|
62
63
|
audio.autoplay = false;
|
63
64
|
audio.loop = false;
|
64
|
-
audio.preload =
|
65
|
+
audio.preload = "auto";
|
65
66
|
if (options.volume) {
|
66
67
|
audio.volume = options.volume;
|
67
68
|
}
|
@@ -92,15 +93,15 @@ class NativeAudioWeb extends core.WebPlugin {
|
|
92
93
|
NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.delete(options.assetId);
|
93
94
|
}
|
94
95
|
async setVolume(options) {
|
95
|
-
if (typeof (options === null || options === void 0 ? void 0 : options.volume) !==
|
96
|
-
throw
|
96
|
+
if (typeof (options === null || options === void 0 ? void 0 : options.volume) !== "number") {
|
97
|
+
throw "no volume provided";
|
97
98
|
}
|
98
99
|
const audio = this.getAudioAsset(options.assetId).audio;
|
99
100
|
audio.volume = options.volume;
|
100
101
|
}
|
101
102
|
async setRate(options) {
|
102
|
-
if (typeof (options === null || options === void 0 ? void 0 : options.rate) !==
|
103
|
-
throw
|
103
|
+
if (typeof (options === null || options === void 0 ? void 0 : options.rate) !== "number") {
|
104
|
+
throw "no rate provided";
|
104
105
|
}
|
105
106
|
const audio = this.getAudioAsset(options.assetId).audio;
|
106
107
|
audio.playbackRate = options.rate;
|
@@ -117,15 +118,15 @@ class NativeAudioWeb extends core.WebPlugin {
|
|
117
118
|
return NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.get(assetId);
|
118
119
|
}
|
119
120
|
checkAssetId(assetId) {
|
120
|
-
if (typeof assetId !==
|
121
|
-
throw
|
121
|
+
if (typeof assetId !== "string") {
|
122
|
+
throw "assetId must be a string";
|
122
123
|
}
|
123
124
|
if (!(assetId === null || assetId === void 0 ? void 0 : assetId.length)) {
|
124
|
-
throw
|
125
|
+
throw "no assetId provided";
|
125
126
|
}
|
126
127
|
}
|
127
128
|
}
|
128
|
-
NativeAudioWeb.FILE_LOCATION =
|
129
|
+
NativeAudioWeb.FILE_LOCATION = "";
|
129
130
|
NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID = new Map();
|
130
131
|
const NativeAudio = new NativeAudioWeb();
|
131
132
|
|
package/dist/plugin.cjs.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/audio-asset.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst NativeAudio = registerPlugin('NativeAudio', {\n web: () => import('./web').then((m) => new m.NativeAudioWeb()),\n});\nexport * from './definitions';\nexport { NativeAudio };\n//# sourceMappingURL=index.js.map","export class AudioAsset {\n constructor(audio) {\n this.audio = audio;\n }\n}\n//# sourceMappingURL=audio-asset.js.map","import { WebPlugin } from '@capacitor/core';\nimport { AudioAsset } from './audio-asset';\nexport class NativeAudioWeb extends WebPlugin {\n constructor() {\n super({\n name: 'NativeAudio',\n platforms: ['web'],\n });\n }\n async resume(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n if (audio.paused) {\n return audio.play();\n }\n }\n async pause(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return audio.pause();\n }\n async getCurrentTime(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return { currentTime: audio.currentTime };\n }\n async getDuration(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n if (Number.isNaN(audio.duration)) {\n throw 'no duration available';\n }\n if (!Number.isFinite(audio.duration)) {\n throw 'duration not available => media resource is streaming';\n }\n return { duration: audio.duration };\n }\n async configure(options) {\n throw `configure is not supported for web: ${JSON.stringify(options)}`;\n }\n async preload(options) {\n var _a;\n if (NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(options.assetId)) {\n throw 'AssetId already exists. Unload first if like to change!';\n }\n if (!((_a = options.assetPath) === null || _a === void 0 ? void 0 : _a.length)) {\n throw 'no assetPath provided';\n }\n if (!options.isUrl && !new RegExp('^/?' + NativeAudioWeb.FILE_LOCATION).test(options.assetPath)) {\n const slashPrefix = options.assetPath.startsWith('/') ? '' : '/';\n options.assetPath = `${NativeAudioWeb.FILE_LOCATION}${slashPrefix}${options.assetPath}`;\n }\n const audio = new Audio(options.assetPath);\n audio.autoplay = false;\n audio.loop = false;\n audio.preload = 'auto';\n if (options.volume) {\n audio.volume = options.volume;\n }\n NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.set(options.assetId, new AudioAsset(audio));\n }\n async play(options) {\n var _a;\n const audio = this.getAudioAsset(options.assetId).audio;\n await this.stop(options);\n audio.loop = false;\n audio.currentTime = (_a = options.time) !== null && _a !== void 0 ? _a : 0;\n return audio.play();\n }\n async loop(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n await this.stop(options);\n audio.loop = true;\n return audio.play();\n }\n async stop(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.pause();\n audio.loop = false;\n audio.currentTime = 0;\n }\n async unload(options) {\n await this.stop(options);\n NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.delete(options.assetId);\n }\n async setVolume(options) {\n if (typeof (options === null || options === void 0 ? void 0 : options.volume) !== 'number') {\n throw 'no volume provided';\n }\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.volume = options.volume;\n }\n async setRate(options) {\n if (typeof (options === null || options === void 0 ? void 0 : options.rate) !== 'number') {\n throw 'no rate provided';\n }\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.playbackRate = options.rate;\n }\n async isPlaying(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return { isPlaying: !audio.paused };\n }\n getAudioAsset(assetId) {\n this.checkAssetId(assetId);\n if (!NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(assetId)) {\n throw `no asset for assetId \"${assetId}\" available. Call preload first!`;\n }\n return NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.get(assetId);\n }\n checkAssetId(assetId) {\n if (typeof assetId !== 'string') {\n throw 'assetId must be a string';\n }\n if (!(assetId === null || assetId === void 0 ? void 0 : assetId.length)) {\n throw 'no assetId provided';\n }\n }\n}\nNativeAudioWeb.FILE_LOCATION = '';\nNativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID = new Map();\nconst NativeAudio = new NativeAudioWeb();\nexport { NativeAudio };\n//# sourceMappingURL=web.js.map"],"names":["NativeAudio","registerPlugin","WebPlugin"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/audio-asset.js","esm/web.js"],"sourcesContent":["import { registerPlugin } from \"@capacitor/core\";\nconst NativeAudio = registerPlugin(\"NativeAudio\", {\n web: () => import(\"./web\").then((m) => new m.NativeAudioWeb()),\n});\nexport * from \"./definitions\";\nexport { NativeAudio };\n//# sourceMappingURL=index.js.map","export class AudioAsset {\n constructor(audio) {\n this.audio = audio;\n }\n}\n//# sourceMappingURL=audio-asset.js.map","import { WebPlugin } from \"@capacitor/core\";\nimport { AudioAsset } from \"./audio-asset\";\nexport class NativeAudioWeb extends WebPlugin {\n constructor() {\n super({\n name: \"NativeAudio\",\n platforms: [\"web\"],\n });\n }\n async resume(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n if (audio.paused) {\n return audio.play();\n }\n }\n async pause(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return audio.pause();\n }\n async getCurrentTime(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return { currentTime: audio.currentTime };\n }\n async getDuration(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n if (Number.isNaN(audio.duration)) {\n throw \"no duration available\";\n }\n if (!Number.isFinite(audio.duration)) {\n throw \"duration not available => media resource is streaming\";\n }\n return { duration: audio.duration };\n }\n async configure(options) {\n throw `configure is not supported for web: ${JSON.stringify(options)}`;\n }\n async preload(options) {\n var _a;\n if (NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(options.assetId)) {\n throw \"AssetId already exists. Unload first if like to change!\";\n }\n if (!((_a = options.assetPath) === null || _a === void 0 ? void 0 : _a.length)) {\n throw \"no assetPath provided\";\n }\n if (!options.isUrl &&\n !new RegExp(\"^/?\" + NativeAudioWeb.FILE_LOCATION).test(options.assetPath)) {\n const slashPrefix = options.assetPath.startsWith(\"/\") ? \"\" : \"/\";\n options.assetPath = `${NativeAudioWeb.FILE_LOCATION}${slashPrefix}${options.assetPath}`;\n }\n const audio = new Audio(options.assetPath);\n audio.autoplay = false;\n audio.loop = false;\n audio.preload = \"auto\";\n if (options.volume) {\n audio.volume = options.volume;\n }\n NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.set(options.assetId, new AudioAsset(audio));\n }\n async play(options) {\n var _a;\n const audio = this.getAudioAsset(options.assetId).audio;\n await this.stop(options);\n audio.loop = false;\n audio.currentTime = (_a = options.time) !== null && _a !== void 0 ? _a : 0;\n return audio.play();\n }\n async loop(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n await this.stop(options);\n audio.loop = true;\n return audio.play();\n }\n async stop(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.pause();\n audio.loop = false;\n audio.currentTime = 0;\n }\n async unload(options) {\n await this.stop(options);\n NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.delete(options.assetId);\n }\n async setVolume(options) {\n if (typeof (options === null || options === void 0 ? void 0 : options.volume) !== \"number\") {\n throw \"no volume provided\";\n }\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.volume = options.volume;\n }\n async setRate(options) {\n if (typeof (options === null || options === void 0 ? void 0 : options.rate) !== \"number\") {\n throw \"no rate provided\";\n }\n const audio = this.getAudioAsset(options.assetId).audio;\n audio.playbackRate = options.rate;\n }\n async isPlaying(options) {\n const audio = this.getAudioAsset(options.assetId).audio;\n return { isPlaying: !audio.paused };\n }\n getAudioAsset(assetId) {\n this.checkAssetId(assetId);\n if (!NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.has(assetId)) {\n throw `no asset for assetId \"${assetId}\" available. Call preload first!`;\n }\n return NativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID.get(assetId);\n }\n checkAssetId(assetId) {\n if (typeof assetId !== \"string\") {\n throw \"assetId must be a string\";\n }\n if (!(assetId === null || assetId === void 0 ? void 0 : assetId.length)) {\n throw \"no assetId provided\";\n }\n }\n}\nNativeAudioWeb.FILE_LOCATION = \"\";\nNativeAudioWeb.AUDIO_ASSET_BY_ASSET_ID = new Map();\nconst NativeAudio = new NativeAudioWeb();\nexport { NativeAudio };\n//# sourceMappingURL=web.js.map"],"names":["NativeAudio","registerPlugin","WebPlugin"],"mappings":"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"}
|