marinofaggiana 6 rokov pred
rodič
commit
cd4fc304d9
1 zmenil súbory, kde vykonal 26 pridanie a 2 odobranie
  1. 26 2
      iOSClient/Viewer/NCViewerImagemeter.swift

+ 26 - 2
iOSClient/Viewer/NCViewerImagemeter.swift

@@ -37,6 +37,10 @@ class NCViewerImagemeter: UIViewController {
     private var annotation: IMImagemeterCodable.imagemeterAnnotation?
   
     private var audioPlayer = AVAudioPlayer()
+    private var timer = Timer()
+    
+    private var durationPlayer: TimeInterval = 0
+    private var counterSecondPlayer: TimeInterval = 0
 
     var metadata: tableMetadata?
     
@@ -55,6 +59,11 @@ class NCViewerImagemeter: UIViewController {
         pathArchiveImagemeter = CCUtility.getDirectoryProviderStorageFileID(metadata?.fileID) + "/" + nameArchiveImagemeter
         
         self.navigationItem.title = nameArchiveImagemeter
+        
+        // Progress view
+        progressView.progressTintColor = NCBrandColor.sharedInstance.brandElement
+        progressView.trackTintColor = UIColor(red: 247.0/255.0, green: 247.0/255.0, blue: 247.0/255.0, alpha: 1.0)
+        progressView.progress = 0
     }
     
     override func viewWillAppear(_ animated: Bool) {
@@ -79,6 +88,11 @@ class NCViewerImagemeter: UIViewController {
         }
     }
     
+    @objc func updateTimer() {
+        counterSecondPlayer += 1
+        progressView.progress = Float(counterSecondPlayer / durationPlayer)
+    }
+    
     func imgThumbnails() {
         
         guard let annotation = self.annotation else {
@@ -132,13 +146,17 @@ class NCViewerImagemeter: UIViewController {
                 let fileNamePath =  pathArchiveImagemeter + "/" + element.audio_recording.recording_filename
                 // player
                 do {
+
                     try audioPlayer = AVAudioPlayer(contentsOf: URL(fileURLWithPath: fileNamePath))
                     audioPlayer.delegate = self
                     audioPlayer.prepareToPlay()
                     audioPlayer.play()
+
+                    durationPlayer = TimeInterval(audioPlayer.duration)
+                    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true)
+
                 } catch {
                 }
-                
             }
         }
     }
@@ -152,6 +170,12 @@ extension NCViewerImagemeter: AVAudioPlayerDelegate {
     
     func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
         
-        progressView.progress = 0
+        updateTimer()
+        timer.invalidate()
+        counterSecondPlayer = 0
+        
+        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
+            self.progressView.progress = 0
+        }
     }
 }