@capgo/native-audio 5.1.2 → 5.1.10
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 +16 -36
- package/android/src/main/java/ee/forgr/audio/AudioAsset.java +115 -105
- 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 +430 -405
- package/dist/docs.json +26 -26
- 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/plugin.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"plugin.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.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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"}
|
@@ -10,40 +10,39 @@ import AVFoundation
|
|
10
10
|
|
11
11
|
public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
12
12
|
|
13
|
-
var channels:
|
13
|
+
var channels: [AVAudioPlayer] = []
|
14
14
|
var playIndex: Int = 0
|
15
15
|
var assetId: String = ""
|
16
|
-
var initialVolume:
|
17
|
-
var fadeDelay:
|
16
|
+
var initialVolume: Float = 1.0
|
17
|
+
var fadeDelay: Float = 1.0
|
18
18
|
var owner: NativeAudio
|
19
19
|
|
20
|
-
let
|
21
|
-
let
|
20
|
+
let FADESTEP: Float = 0.05
|
21
|
+
let FADEDELAY: Float = 0.08
|
22
22
|
|
23
|
-
init(owner: NativeAudio, withAssetId assetId: String, withPath path: String!, withChannels channels:
|
23
|
+
init(owner: NativeAudio, withAssetId assetId: String, withPath path: String!, withChannels channels: Int!, withVolume volume: Float!, withFadeDelay delay: Float!) {
|
24
24
|
|
25
25
|
self.owner = owner
|
26
26
|
self.assetId = assetId
|
27
|
-
self.channels =
|
27
|
+
self.channels = []
|
28
28
|
|
29
29
|
super.init()
|
30
30
|
|
31
|
-
let pathUrl:
|
32
|
-
|
33
|
-
for _ in 0..<channels.intValue {
|
31
|
+
let pathUrl: URL = URL(string: path)!
|
32
|
+
for _ in 0..<channels {
|
34
33
|
do {
|
35
|
-
let player: AVAudioPlayer! = try AVAudioPlayer(contentsOf: pathUrl
|
34
|
+
let player: AVAudioPlayer! = try AVAudioPlayer(contentsOf: pathUrl)
|
36
35
|
|
37
36
|
if player != nil {
|
38
|
-
player.volume = volume
|
37
|
+
player.volume = volume
|
39
38
|
player.prepareToPlay()
|
40
|
-
self.channels.
|
39
|
+
self.channels.append(player)
|
41
40
|
if channels == 1 {
|
42
41
|
player.delegate = self
|
43
42
|
}
|
44
43
|
}
|
45
44
|
} catch {
|
46
|
-
|
45
|
+
print("Error loading \(String(describing: path))")
|
47
46
|
}
|
48
47
|
}
|
49
48
|
}
|
@@ -52,8 +51,7 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
|
52
51
|
if channels.count != 1 {
|
53
52
|
return 0
|
54
53
|
}
|
55
|
-
|
56
|
-
let player: AVAudioPlayer = channels.object(at: playIndex) as! AVAudioPlayer
|
54
|
+
let player: AVAudioPlayer = channels[playIndex]
|
57
55
|
|
58
56
|
return player.currentTime
|
59
57
|
}
|
@@ -63,70 +61,69 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
|
63
61
|
return 0
|
64
62
|
}
|
65
63
|
|
66
|
-
let player: AVAudioPlayer = channels
|
64
|
+
let player: AVAudioPlayer = channels[playIndex]
|
67
65
|
|
68
66
|
return player.duration
|
69
67
|
}
|
70
68
|
|
71
69
|
func play(time: TimeInterval) {
|
72
|
-
let player: AVAudioPlayer = channels
|
70
|
+
let player: AVAudioPlayer = channels[playIndex]
|
73
71
|
player.currentTime = time
|
74
72
|
player.numberOfLoops = 0
|
75
73
|
player.play()
|
76
|
-
playIndex
|
77
|
-
playIndex =
|
74
|
+
playIndex += 1
|
75
|
+
playIndex = playIndex % channels.count
|
78
76
|
}
|
79
77
|
|
80
78
|
func playWithFade(time: TimeInterval) {
|
81
|
-
let player: AVAudioPlayer
|
79
|
+
let player: AVAudioPlayer = channels[playIndex]
|
82
80
|
player.currentTime = time
|
83
81
|
|
84
82
|
if !player.isPlaying {
|
85
83
|
player.numberOfLoops = 0
|
86
84
|
player.volume = 0
|
87
85
|
player.play()
|
88
|
-
playIndex
|
89
|
-
playIndex =
|
86
|
+
playIndex += 1
|
87
|
+
playIndex = playIndex % channels.count
|
90
88
|
} else {
|
91
|
-
if player.volume < initialVolume
|
92
|
-
player.volume
|
89
|
+
if player.volume < initialVolume {
|
90
|
+
player.volume += self.FADESTEP
|
93
91
|
}
|
94
92
|
}
|
95
93
|
|
96
94
|
}
|
97
95
|
|
98
96
|
func pause() {
|
99
|
-
let player: AVAudioPlayer = channels
|
97
|
+
let player: AVAudioPlayer = channels[playIndex]
|
100
98
|
player.pause()
|
101
99
|
}
|
102
100
|
|
103
101
|
func resume() {
|
104
|
-
let player: AVAudioPlayer = channels
|
102
|
+
let player: AVAudioPlayer = channels[playIndex]
|
105
103
|
|
106
104
|
let timeOffset = player.deviceCurrentTime + 0.01
|
107
105
|
player.play(atTime: timeOffset)
|
108
106
|
}
|
109
107
|
|
110
108
|
func stop() {
|
111
|
-
for
|
112
|
-
let player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
|
109
|
+
for player in channels {
|
113
110
|
player.stop()
|
114
111
|
}
|
115
112
|
}
|
116
113
|
|
117
114
|
func stopWithFade() {
|
118
|
-
let player: AVAudioPlayer
|
115
|
+
let player: AVAudioPlayer = channels[playIndex]
|
119
116
|
|
120
117
|
if !player.isPlaying {
|
121
118
|
player.currentTime = 0.0
|
122
119
|
player.numberOfLoops = 0
|
123
120
|
player.volume = 0
|
124
121
|
player.play()
|
125
|
-
playIndex
|
126
|
-
playIndex =
|
122
|
+
playIndex += 1
|
123
|
+
playIndex = playIndex % channels.count
|
127
124
|
} else {
|
128
|
-
if player.volume < initialVolume
|
129
|
-
player.volume
|
125
|
+
if player.volume < initialVolume {
|
126
|
+
player.volume += self.FADESTEP
|
130
127
|
}
|
131
128
|
}
|
132
129
|
}
|
@@ -134,11 +131,11 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
|
134
131
|
func loop() {
|
135
132
|
self.stop()
|
136
133
|
|
137
|
-
let player: AVAudioPlayer
|
134
|
+
let player: AVAudioPlayer = channels[playIndex]
|
138
135
|
player.numberOfLoops = -1
|
139
136
|
player.play()
|
140
|
-
playIndex
|
141
|
-
playIndex =
|
137
|
+
playIndex += 1
|
138
|
+
playIndex = playIndex % channels.count
|
142
139
|
}
|
143
140
|
|
144
141
|
func unload() {
|
@@ -149,20 +146,17 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
|
149
146
|
//
|
150
147
|
// player = nil
|
151
148
|
// }
|
152
|
-
|
153
|
-
channels = NSMutableArray()
|
149
|
+
channels = []
|
154
150
|
}
|
155
151
|
|
156
152
|
func setVolume(volume: NSNumber!) {
|
157
|
-
for
|
158
|
-
let player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
|
153
|
+
for player in channels {
|
159
154
|
player.volume = volume.floatValue
|
160
155
|
}
|
161
156
|
}
|
162
157
|
|
163
158
|
func setRate(rate: NSNumber!) {
|
164
|
-
for
|
165
|
-
let player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
|
159
|
+
for player in channels {
|
166
160
|
player.rate = rate.floatValue
|
167
161
|
}
|
168
162
|
}
|
@@ -183,8 +177,7 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
|
|
183
177
|
return false
|
184
178
|
}
|
185
179
|
|
186
|
-
let player: AVAudioPlayer = channels
|
187
|
-
|
180
|
+
let player: AVAudioPlayer = channels[playIndex]
|
188
181
|
return player.isPlaying
|
189
182
|
}
|
190
183
|
}
|
@@ -18,4 +18,5 @@ public class Constant {
|
|
18
18
|
public static let ErrorAssetId = "Asset Id is missing"
|
19
19
|
public static let ErrorAssetPath = "Asset Path is missing"
|
20
20
|
public static let ErrorAssetNotFound = "Asset is not loaded"
|
21
|
+
public static let ErrorAssetAlreadyLoaded = "Asset is already loaded"
|
21
22
|
}
|
package/ios/Plugin/Plugin.swift
CHANGED
@@ -163,7 +163,10 @@ public class NativeAudio: CAPPlugin {
|
|
163
163
|
if self.audioList.count > 0 {
|
164
164
|
let asset = self.audioList[audioId]
|
165
165
|
if asset != nil && asset is AudioAsset {
|
166
|
-
let audioAsset
|
166
|
+
guard let audioAsset=asset as? AudioAsset else {
|
167
|
+
call.reject("Cannot cast to AudioAsset")
|
168
|
+
return
|
169
|
+
}
|
167
170
|
audioAsset.unload()
|
168
171
|
self.audioList[audioId] = nil
|
169
172
|
}
|
@@ -204,9 +207,9 @@ public class NativeAudio: CAPPlugin {
|
|
204
207
|
|
205
208
|
private func preloadAsset(_ call: CAPPluginCall, isComplex complex: Bool) {
|
206
209
|
let audioId = call.getString(Constant.AssetIdKey) ?? ""
|
207
|
-
let channels:
|
210
|
+
let channels: Int?
|
208
211
|
let volume: Float?
|
209
|
-
let delay:
|
212
|
+
let delay: Float?
|
210
213
|
let isUrl: Bool?
|
211
214
|
|
212
215
|
if audioId != "" {
|
@@ -214,8 +217,8 @@ public class NativeAudio: CAPPlugin {
|
|
214
217
|
|
215
218
|
if complex {
|
216
219
|
volume = call.getFloat("volume") ?? 1.0
|
217
|
-
channels =
|
218
|
-
delay =
|
220
|
+
channels = call.getInt("channels") ?? 1
|
221
|
+
delay = call.getFloat("delay") ?? 1.0
|
219
222
|
isUrl = call.getBool("isUrl") ?? false
|
220
223
|
} else {
|
221
224
|
channels = 0
|
@@ -230,13 +233,12 @@ public class NativeAudio: CAPPlugin {
|
|
230
233
|
|
231
234
|
let asset = audioList[audioId]
|
232
235
|
let queue = DispatchQueue(label: "ee.forgr.audio.simple.queue", qos: .userInitiated)
|
233
|
-
|
234
236
|
queue.async {
|
235
237
|
if asset == nil {
|
236
238
|
var basePath: String?
|
237
239
|
if isUrl == false {
|
238
240
|
// if assetPath dont start with public/ add it
|
239
|
-
assetPath = assetPath.starts(with: "public/") ? assetPath : "public/" + assetPath
|
241
|
+
assetPath = assetPath.starts(with: "public/") ? assetPath : "public/" + assetPath
|
240
242
|
|
241
243
|
let assetPathSplit = assetPath.components(separatedBy: ".")
|
242
244
|
basePath = Bundle.main.path(forResource: assetPathSplit[0], ofType: assetPathSplit[1])
|
@@ -247,20 +249,22 @@ public class NativeAudio: CAPPlugin {
|
|
247
249
|
|
248
250
|
if FileManager.default.fileExists(atPath: basePath ?? "") {
|
249
251
|
if !complex {
|
250
|
-
let
|
251
|
-
let soundFileUrl: CFURL = CFBridgingRetain(pathUrl) as! CFURL
|
252
|
+
let soundFileUrl = URL(fileURLWithPath: basePath ?? "")
|
252
253
|
var soundId = SystemSoundID()
|
253
|
-
AudioServicesCreateSystemSoundID(soundFileUrl, &soundId)
|
254
|
+
AudioServicesCreateSystemSoundID(soundFileUrl as CFURL, &soundId)
|
254
255
|
self.audioList[audioId] = NSNumber(value: Int32(soundId))
|
255
256
|
call.resolve()
|
256
257
|
} else {
|
257
|
-
let audioAsset: AudioAsset = AudioAsset(owner: self,
|
258
|
+
let audioAsset: AudioAsset = AudioAsset(owner: self,
|
259
|
+
withAssetId: audioId, withPath: basePath, withChannels: channels, withVolume: volume, withFadeDelay: delay)
|
258
260
|
self.audioList[audioId] = audioAsset
|
259
261
|
call.resolve()
|
260
262
|
}
|
261
263
|
} else {
|
262
264
|
call.reject(Constant.ErrorAssetPath + " - " + assetPath)
|
263
265
|
}
|
266
|
+
} else {
|
267
|
+
call.reject(Constant.ErrorAssetAlreadyLoaded + " - " + audioId)
|
264
268
|
}
|
265
269
|
}
|
266
270
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@capgo/native-audio",
|
3
|
-
"version": "5.1.
|
3
|
+
"version": "5.1.10",
|
4
4
|
"description": "A native plugin for native audio engine",
|
5
5
|
"main": "dist/plugin.js",
|
6
6
|
"module": "dist/esm/index.js",
|
@@ -28,7 +28,7 @@
|
|
28
28
|
"lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
|
29
29
|
"fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --autocorrect --format",
|
30
30
|
"eslint": "eslint . --ext ts",
|
31
|
-
"prettier": "prettier \"**/*.{css,html,ts,js,java}\"",
|
31
|
+
"prettier": "prettier --config .prettierrc.js \"**/*.{css,html,ts,js,java}\"",
|
32
32
|
"swiftlint": "node-swiftlint",
|
33
33
|
"docgen": "docgen --api NativeAudio --output-readme README.md --output-json dist/docs.json",
|
34
34
|
"build": "npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs",
|
@@ -40,23 +40,24 @@
|
|
40
40
|
"author": "Martin Donadieu <martindonadieu@gmail.com>",
|
41
41
|
"license": "MIT",
|
42
42
|
"devDependencies": {
|
43
|
-
"@capacitor/android": "^4.7.
|
44
|
-
"@capacitor/cli": "^4.7.
|
45
|
-
"@capacitor/core": "^4.7.
|
43
|
+
"@capacitor/android": "^4.7.3",
|
44
|
+
"@capacitor/cli": "^4.7.3",
|
45
|
+
"@capacitor/core": "^4.7.3",
|
46
46
|
"@capacitor/docgen": "^0.2.1",
|
47
|
-
"@capacitor/ios": "^4.7.
|
47
|
+
"@capacitor/ios": "^4.7.3",
|
48
48
|
"@ionic/eslint-config": "^0.3.0",
|
49
49
|
"@ionic/prettier-config": "^2.0.0",
|
50
50
|
"@ionic/swiftlint-config": "^1.1.2",
|
51
|
-
"@
|
52
|
-
"@typescript-eslint/
|
53
|
-
"eslint": "^
|
51
|
+
"@types/node": "^18.15.11",
|
52
|
+
"@typescript-eslint/eslint-plugin": "^5.58.0",
|
53
|
+
"@typescript-eslint/parser": "^5.58.0",
|
54
|
+
"eslint": "^8.38.0",
|
54
55
|
"eslint-plugin-import": "^2.27.5",
|
55
56
|
"husky": "^8.0.3",
|
56
|
-
"prettier": "^2.7
|
57
|
-
"prettier-plugin-java": "^2.
|
58
|
-
"rimraf": "^4.
|
59
|
-
"rollup": "^3.
|
57
|
+
"prettier": "^2.8.7",
|
58
|
+
"prettier-plugin-java": "^2.1.0",
|
59
|
+
"rimraf": "^4.4.1",
|
60
|
+
"rollup": "^3.20.2",
|
60
61
|
"swiftlint": "^1.0.1",
|
61
62
|
"typescript": "^4.9.5"
|
62
63
|
},
|