Swift 从 MPMoviePlayerController 元数据中读取 UTF8 字符串

Swift Read in UTF8 String from MPMoviePlayerController metadata

我需要阅读一些可能包含法语或德语字符和重音的元数据。

我认为我需要将元数据读取为 UTF8 字符串。但是作为 Swift 和 Apple 的初学者,我不知道该怎么做。

我尝试实施一些在 Whosebug 上找到的类似解决方案,但 none 成功了。

我在做什么:

  let firstMeta: MPTimedMetadata = radioPlayer.timedMetadata.first as! MPTimedMetadata        
  let metaData = firstMeta.value as! String
  print(metaData)

我明白了

Antonin DvoÅák

而不是

Antonin Dvořák

有什么想法吗?


关于如何使用 AVPlayer 从在线音频流中获取 UTF8 元数据的简单解决方案

这是库中的问题,您无法修复它,因为字符串已经从数据中解码出来了。

整套 类 在 iOS 9 中被弃用是有原因的。

你应该使用 AVPlayerViewController & AVPlayer & AVPlayerItem & AVMetadataItem

他们正在解决这个问题。不要使用 MPMoviePlayerController.

let convertedString = String(data: metaData.dataUsingEncoding(NSISOLatin1StringEncoding)!, encoding: NSUTF8StringEncoding)!