diff --git a/ios/RNAudioRecorderPlayer.swift b/ios/RNAudioRecorderPlayer.swift index 1df571f0..b6d5c852 100644 --- a/ios/RNAudioRecorderPlayer.swift +++ b/ios/RNAudioRecorderPlayer.swift @@ -376,9 +376,22 @@ class RNAudioRecorderPlayer: RCTEventEmitter, AVAudioRecorderDelegate { } addPeriodicTimeObserver() + NotificationCenter.default.addObserver(self, selector: #selector(playerDidFinishPlaying), name: Notification.Name.AVPlayerItemDidPlayToEndTime, object: audioPlayer.currentItem) audioPlayer.play() resolve(audioFileURL?.absoluteString) } + + @objc + public func playerDidFinishPlaying(notification: Notification) { + if let playerItem = notification.object as? AVPlayerItem { + let duration = playerItem.duration.seconds * 1000 + self.sendEvent(withName: "rn-playback", body: [ + "isMuted": self.audioPlayer?.isMuted as Any, + "currentPosition": duration, + "duration": duration, + ]) + } + } @objc(stopPlayer:rejecter:) public func stopPlayer(