2017-02-19 4 views
0

Ich verwende BMPlayer. Bei Verwendung func:Fehler beim Anzeigen des Tests in Etikett

bmPlayerView.playTimeDidChange = { (currentTime: TimeInterval, totalTime: TimeInterval) in 
      //   print("playTimeDidChange currentTime: \(currentTime) totalTime: \(totalTime)") 
      self.subtitleShow(currentTime: currentTime) 
     } 

für Show Untertitel in Etikett.

func subtitleShow(currentTime: TimeInterval){ 

let millisecond = Int(currentTime * 1000) 

       for i in (clip.subtitle?.enDialog)!{ 
        if i.start <= millisecond && i.end >= millisecond { 
          subtitleLabel.text = i.text 
          return 
         } 

        } 

      } 

Aber anzeigen Fehler:

enter image description here

Bitte helfen Sie mir

+0

Lesen Sie die Fehlermeldung? –

Antwort

1

Die Fehlermeldung Sie einfach sagt das Etikett auf dem Haupt-Thread zu aktualisieren:

bmPlayerView.playTimeDidChange = { (currentTime: TimeInterval, totalTime: TimeInterval) in 
    DispatchQueue.main.async { 
     self.subtitleShow(currentTime: currentTime) 
    } 
} 
+0

danke das war perfekt – RaziPour1993

1

Wenn Wenn Sie die Benutzeroberfläche ändern möchten, müssen Sie dies über den Hauptthread tun. diese Weise können Sie

bmPlayerView.playTimeDidChange = { (currentTime: TimeInterval, totalTime: TimeInterval) in 
    // print("playTimeDidChange currentTime: \(currentTime) totalTime: \(totalTime)") 
     dispatch_async(dispatch_get_main_queue()) { [weak self]() -> Void in 
        self?.subtitleShow(currentTime: currentTime) 
     } 

} 
+0

danke das war perfekt – RaziPour1993

1

Sie kann nicht gui aus Hintergrund ändern. Verwenden Sie dazu

DispatchQueue.main.async(){ 
    //code 
} 
+0

danke das war perfekt – RaziPour1993

Verwandte Themen