2016-06-14 48 views
1

我需要阅读一些元数据,其中可能包含法语或德语字符&口音。Swift读取UTF8字符串从MPMoviePlayerController元数据

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

我试图实现一些类似的解决方案,但在stackOverflow上找不到。

什么我的工作:

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

在那里,我得到

安东尼DvoÅák

,而不是

德沃夏克

有什么想法?


关于如何使用AVPlayer https://stackoverflow.com/a/37831097/4249825

+0

当你说你得到一些东西时,你实际上从字面上得到了什么,逐字? –

+0

我宁愿检查使用什么编码是MPTimedMetadata.value,然后转换很容易。 – kandelvijaya

+0

这不是你可以解决的问题,它是图书馆的问题。 – Sulthan

回答

2

这是库中的一个问题,从在线音频流得到UTF8元数据简单的解决方案,你不能修复它,因为该字符串已经从数据解码。

还有就是为什么一整套班的iOS 9

已被否决,您应该使用AVPlayerViewController & AVPlayer & AVPlayerItem & AVMetadataItem的理由。

他们正在解决这个问题。请勿使用MPMoviePlayerController

+0

喜欢编辑流程。 谢谢 – Mugurel

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