Я использую swift 3 и пытаюсь добавить субтитры с помощью файла webVtt, но он не работает и вылетает из моего приложения.см. мой код ниже.
let asset1 = AVAsset(url: URL(string: playUrl)! // HLS video link
//Create AVMutableComposition
let videoPlusSubtitles = AVMutableComposition()
//Adds video track
let videoTrack = videoPlusSubtitles.addMutableTrack(withMediaType: .video, preferredTrackID: kCMPersistentTrackID_Invalid)
try? videoTrack?.insertTimeRange(CMTimeRangeMake(kCMTimeZero, asset1.duration),
of: asset1.tracks(withMediaType: .video)[0],
at: kCMTimeZero)
//Adds subtitle track
let subtitleAsset = AVAsset(url: URL(string: SubtittleUrl)!)
print("Subtitle CC: \(SubtittleUrl)")
let subtitleTrack = videoPlusSubtitles.addMutableTrack(withMediaType: .text, preferredTrackID: kCMPersistentTrackID_Invalid)
try? subtitleTrack?.insertTimeRange(CMTimeRangeMake(kCMTimeZero, asset1.duration),
of: subtitleAsset.tracks(withMediaType: .text)[0],
at: kCMTimeZero)
playerItem = AVPlayerItem(asset: videoPlusSubtitles)
player = AVPlayer(playerItem: playerItem)
playerLayer = AVPlayerLayer(player: player)
playerLayer?.videoGravity = AVLayerVideoGravity.resizeAspect
playerLayer?.contentsScale = UIScreen.main.scale
layer.insertSublayer(playerLayer!, at: 0)
player?.play()
Пожалуйста, предложите мне решение, как я могу отображать субтитры на моих видео, используя внешние файлы субтитров, используя расширения vtt или srt.