-1

我是Swift和視頻流的新手。我正嘗試在AppleTV中播放視頻。 有人試圖從外部srt文件中迅速添加字幕與AVPlayerViewController。我正在嘗試使用以下代碼執行相同的操作:https://github.com/mhergon/MPMoviePlayerController-Subtitles用swift顯示使用AVPlayerViewController的字幕

我改變,以適應我的要求的代碼,但它拋出一個異常:

NSInvalidArgumentException「的,理由是:」無法解析約束格式: 無法解釋‘|’ (20) - [1] - (20) - |

同時在Subtitles.swift文件這一點:

var constraints = NSLayoutConstraint.constraintsWithVisualFormat("H:|-(20)-[l]-(20)-|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: ["l" : subtitleLabel!]) 
    subtitleContainer?.addConstraints(constraints) 
+0

你可以在storyboard或xib上顯示配置你的視圖嗎?或者在代碼中設置列表元素視圖? –

回答

0

錯誤信息抱怨,沒有上海華。看看源代碼,我會假設容器沒有正確設置。這導致subtitleLabel不是超級視圖的子級,並且使約束失敗。

+0

是的,你是正確的容器沒有在getContainer()中設置。我不知道爲什麼沒有設置。我不明白如何使用MPMoviePlayerController c.tag == 1006是真實的,而不是當使用AVPLayerViewController時。 – Enmud

+0

@Enmud你能展示你的代碼來設置你的視圖嗎? –

+0

感謝您的回覆。在這個下面的代碼中,字幕容器正在被設置。但我沒有找到任何地方在下面的代碼引用的標籤。你可以在github存儲庫中檢查相同的代碼(有問題的鏈接)。私人FUNC getContainer(){ 用於在view.subviews { 對於b在a.subviews { 用於b.subviews { 如果c.tag == 1006 { subtitleContainer = C } } } Ç } } – Enmud