Skip to content

Commit 90c3f7b

Browse files
committed
fix: startPlayer, pausePlayer, seekToPlayer, setVolume also leak
1 parent 8d8f7b9 commit 90c3f7b

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

ios/AudioPlayer.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class AudioPlayer: NSObject, AVAudioPlayerDelegate {
8787
EventEmitter.sharedInstance.dispatch(name: withName, body: body)
8888
}
8989

90-
func startPlyer(_ finishMode: Int?, speed: Float, result: RCTPromiseResolveBlock) {
90+
func startPlayer(_ finishMode: Int?, speed: Float, result: RCTPromiseResolveBlock) {
9191
if(finishMode != nil && finishMode == 0) {
9292
self.finishMode = FinishMode.loop
9393
} else if(finishMode != nil && finishMode == 1) {

ios/AudioWaveform.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,16 +165,16 @@ class AudioWaveform: RCTEventEmitter {
165165
let finishMode = args?[Constants.finishMode] as? Int
166166
let speed = (args?[Constants.speed] as? NSNumber)?.floatValue ?? 1.0
167167

168-
if(key != nil){
169-
audioPlayers[key!]?.startPlyer(finishMode, speed: speed, result:resolve)
168+
if(key != nil && audioPlayers[key!] != nil){
169+
audioPlayers[key!]?.startPlayer(finishMode, speed: speed, result:resolve)
170170
} else {
171171
reject(Constants.audioWaveforms, "Can not start player", nil)
172172
}
173173
}
174174

175175
@objc func pausePlayer(_ args: NSDictionary?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
176176
let key = args?[Constants.playerKey] as? String
177-
if(key != nil){
177+
if(key != nil && audioPlayers[key!] != nil){
178178
audioPlayers[key!]?.pausePlayer(result: resolve)
179179
} else {
180180
reject(Constants.audioWaveforms, "Can not pause player, Player key is null", nil)
@@ -194,7 +194,7 @@ class AudioWaveform: RCTEventEmitter {
194194

195195
@objc func seekToPlayer(_ args: NSDictionary?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
196196
let key = args?[Constants.playerKey] as? String
197-
if(key != nil){
197+
if(key != nil && audioPlayers[key!] != nil){
198198
audioPlayers[key!]?.seekTo(args?[Constants.progress] as? Double,resolve)
199199
} else {
200200
reject(Constants.audioWaveforms, "Can not seek to postion, Player key is null", nil)
@@ -203,7 +203,7 @@ class AudioWaveform: RCTEventEmitter {
203203

204204
@objc func setVolume(_ args: NSDictionary?, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) -> Void {
205205
let key = args?[Constants.playerKey] as? String
206-
if(key != nil){
206+
if(key != nil && audioPlayers[key!] != nil){
207207
audioPlayers[key!]?.setVolume(args?[Constants.volume] as? Double,resolve)
208208
} else {
209209
reject(Constants.audioWaveforms, "Can not set volume, Player key is null", nil)

0 commit comments

Comments
 (0)