@capgo/native-audio 4.2.2 → 4.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,31 +9,31 @@
9
9
  import AVFoundation
10
10
 
11
11
  public class AudioAsset: NSObject, AVAudioPlayerDelegate {
12
-
12
+
13
13
  var channels: NSMutableArray = NSMutableArray()
14
14
  var playIndex: Int = 0
15
15
  var assetId: String = ""
16
16
  var initialVolume: NSNumber = 1.0
17
17
  var fadeDelay: NSNumber = 1.0
18
18
  var owner: NativeAudio
19
-
19
+
20
20
  let FADE_STEP: Float = 0.05
21
21
  let FADE_DELAY: Float = 0.08
22
-
23
- init(owner:NativeAudio, withAssetId assetId:String, withPath path: String!, withChannels channels: NSNumber!, withVolume volume: NSNumber!, withFadeDelay delay: NSNumber!) {
22
+
23
+ init(owner: NativeAudio, withAssetId assetId: String, withPath path: String!, withChannels channels: NSNumber!, withVolume volume: NSNumber!, withFadeDelay delay: NSNumber!) {
24
24
 
25
25
  self.owner = owner
26
26
  self.assetId = assetId
27
27
  self.channels = NSMutableArray.init(capacity: channels as! Int)
28
-
28
+
29
29
  super.init()
30
-
30
+
31
31
  let pathUrl: NSURL! = NSURL.fileURL(withPath: path) as NSURL
32
-
32
+
33
33
  for _ in 0..<channels.intValue {
34
34
  do {
35
35
  let player: AVAudioPlayer! = try AVAudioPlayer(contentsOf: pathUrl as URL)
36
-
36
+
37
37
  if player != nil {
38
38
  player.volume = volume.floatValue
39
39
  player.prepareToPlay()
@@ -43,11 +43,11 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
43
43
  }
44
44
  }
45
45
  } catch {
46
-
46
+
47
47
  }
48
48
  }
49
49
  }
50
-
50
+
51
51
  func getCurrentTime() -> TimeInterval {
52
52
  if channels.count != 1 {
53
53
  return 0
@@ -57,7 +57,7 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
57
57
 
58
58
  return player.currentTime
59
59
  }
60
-
60
+
61
61
  func getDuration() -> TimeInterval {
62
62
  if channels.count != 1 {
63
63
  return 0
@@ -76,11 +76,11 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
76
76
  playIndex = Int(truncating: NSNumber(value: playIndex + 1))
77
77
  playIndex = Int(truncating: NSNumber(value: playIndex % channels.count))
78
78
  }
79
-
79
+
80
80
  func playWithFade(time: TimeInterval) {
81
81
  let player: AVAudioPlayer! = channels.object(at: playIndex) as? AVAudioPlayer
82
82
  player.currentTime = time
83
-
83
+
84
84
  if !player.isPlaying {
85
85
  player.numberOfLoops = 0
86
86
  player.volume = 0
@@ -92,7 +92,7 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
92
92
  player.volume = player.volume + self.FADE_STEP
93
93
  }
94
94
  }
95
-
95
+
96
96
  }
97
97
 
98
98
  func pause() {
@@ -106,17 +106,17 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
106
106
  let timeOffset = player.deviceCurrentTime + 0.01
107
107
  player.play(atTime: timeOffset)
108
108
  }
109
-
109
+
110
110
  func stop() {
111
111
  for i in 0..<channels.count {
112
112
  let player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
113
113
  player.stop()
114
114
  }
115
115
  }
116
-
116
+
117
117
  func stopWithFade() {
118
118
  let player: AVAudioPlayer! = channels.object(at: playIndex) as? AVAudioPlayer
119
-
119
+
120
120
  if !player.isPlaying {
121
121
  player.currentTime = 0.0
122
122
  player.numberOfLoops = 0
@@ -125,51 +125,50 @@ public class AudioAsset: NSObject, AVAudioPlayerDelegate {
125
125
  playIndex = Int(truncating: NSNumber(value: playIndex + 1))
126
126
  playIndex = Int(truncating: NSNumber(value: playIndex % channels.count))
127
127
  } else {
128
- if player.volume < initialVolume.floatValue
129
- {
128
+ if player.volume < initialVolume.floatValue {
130
129
  player.volume = player.volume + self.FADE_STEP
131
130
  }
132
131
  }
133
132
  }
134
-
133
+
135
134
  func loop() {
136
135
  self.stop()
137
-
136
+
138
137
  let player: AVAudioPlayer! = channels.object(at: Int(playIndex)) as? AVAudioPlayer
139
138
  player.numberOfLoops = -1
140
139
  player.play()
141
140
  playIndex = Int(truncating: NSNumber(value: playIndex + 1))
142
141
  playIndex = Int(truncating: NSNumber(value: playIndex % channels.count))
143
142
  }
144
-
143
+
145
144
  func unload() {
146
145
  self.stop()
147
-
148
- // for i in 0..<channels.count {
149
- // var player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
150
- //
151
- // player = nil
152
- // }
153
-
146
+
147
+ // for i in 0..<channels.count {
148
+ // var player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
149
+ //
150
+ // player = nil
151
+ // }
152
+
154
153
  channels = NSMutableArray()
155
154
  }
156
-
155
+
157
156
  func setVolume(volume: NSNumber!) {
158
157
  for i in 0..<channels.count {
159
158
  let player: AVAudioPlayer! = channels.object(at: i) as? AVAudioPlayer
160
159
  player.volume = volume.floatValue
161
160
  }
162
161
  }
163
-
162
+
164
163
  public func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
165
164
  NSLog("playerDidFinish")
166
165
  self.owner.notifyListeners("complete", data: [
167
166
  "assetId": self.assetId
168
167
  ])
169
168
  }
170
-
169
+
171
170
  func playerDecodeError(player: AVAudioPlayer!, error: NSError!) {
172
-
171
+
173
172
  }
174
173
 
175
174
  func isPlaying() -> Bool {
@@ -14,11 +14,11 @@ enum MyError: Error {
14
14
  @objc(NativeAudio)
15
15
  public class NativeAudio: CAPPlugin {
16
16
 
17
- var audioList: [String : Any] = [:]
17
+ var audioList: [String: Any] = [:]
18
18
  var fadeMusic = false
19
19
  var session = AVAudioSession.sharedInstance()
20
20
 
21
- public override func load() {
21
+ override public func load() {
22
22
  super.load()
23
23
 
24
24
  self.fadeMusic = false
@@ -72,7 +72,7 @@ public class NativeAudio: CAPPlugin {
72
72
  audioAsset?.play(time: time)
73
73
  }
74
74
  call.resolve()
75
- } else if (asset is Int32) {
75
+ } else if asset is Int32 {
76
76
  let audioAsset = asset as? NSNumber ?? 0
77
77
  AudioServicesPlaySystemSound(SystemSoundID(audioAsset.intValue ))
78
78
  call.resolve()
@@ -101,7 +101,6 @@ public class NativeAudio: CAPPlugin {
101
101
  return nil
102
102
  }
103
103
 
104
-
105
104
  @objc func getDuration(_ call: CAPPluginCall) {
106
105
  guard let audioAsset: AudioAsset = self.getAudioAsset(call) else {
107
106
  return
@@ -165,7 +164,7 @@ public class NativeAudio: CAPPlugin {
165
164
  let asset = self.audioList[audioId]
166
165
  if asset != nil && asset is AudioAsset {
167
166
  let audioAsset = asset as! AudioAsset
168
- audioAsset.unload();
167
+ audioAsset.unload()
169
168
  self.audioList[audioId] = nil
170
169
  }
171
170
  }
@@ -182,7 +181,7 @@ public class NativeAudio: CAPPlugin {
182
181
  audioAsset.setVolume(volume: volume as NSNumber)
183
182
  call.resolve()
184
183
  }
185
-
184
+
186
185
  @objc func isPlaying(_ call: CAPPluginCall) {
187
186
  guard let audioAsset: AudioAsset = self.getAudioAsset(call) else {
188
187
  return
@@ -192,7 +191,7 @@ public class NativeAudio: CAPPlugin {
192
191
  "isPlaying": audioAsset.isPlaying()
193
192
  ])
194
193
  }
195
-
194
+
196
195
  private func preloadAsset(_ call: CAPPluginCall, isComplex complex: Bool) {
197
196
  let audioId = call.getString(Constant.AssetIdKey) ?? ""
198
197
  let channels: NSNumber?
@@ -203,7 +202,7 @@ public class NativeAudio: CAPPlugin {
203
202
  if audioId != "" {
204
203
  let assetPath: String = call.getString(Constant.AssetPathKey) ?? ""
205
204
 
206
- if (complex) {
205
+ if complex {
207
206
  volume = call.getFloat("volume") ?? 1.0
208
207
  channels = NSNumber(value: call.getInt("channels") ?? 1)
209
208
  delay = NSNumber(value: call.getInt("delay") ?? 1)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/native-audio",
3
- "version": "4.2.2",
3
+ "version": "4.2.3",
4
4
  "description": "A native plugin for native audio engine",
5
5
  "main": "dist/plugin.js",
6
6
  "module": "dist/esm/index.js",
@@ -26,13 +26,13 @@
26
26
  "verify:android": "cd android && ./gradlew clean build test && cd ..",
27
27
  "verify:web": "npm run build",
28
28
  "lint": "npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint",
29
- "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- autocorrect --format",
29
+ "fmt": "npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --autocorrect --format",
30
30
  "eslint": "eslint . --ext ts",
31
31
  "prettier": "prettier \"**/*.{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",
35
- "clean": "rimraf ./dist",
35
+ "clean": "rimraf ./dist && cd android && ./gradlew clean && cd ..",
36
36
  "watch": "tsc --watch",
37
37
  "prepublishOnly": "npm run build",
38
38
  "prepare": "husky install"