2016-06-14 32 views
1

Ich muss einige Metadaten lesen, die französische oder deutsche Zeichen & Akzente enthalten können.Swift Read in UTF8 String von MPMoviePlayerController Metadaten

Ich denke, dass ich die Metadaten als UTF8 String lesen muss. Aber als Anfänger in Swift und Apple im Allgemeinen weiß ich nicht, wie man das macht.

Ich habe versucht, einige ähnliche Lösungen auf StackOverflow zu implementieren, aber keiner arbeitete.

Was ich arbeite mit:

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

Es komme ich

Antonin DvoÅák

statt

Antonin Dvořák

012.351.

Irgendwelche Ideen?


Einfache Lösung für wie UTF8 Metadaten von Online-Audio-Stream erhalten mit AVPlayer https://stackoverflow.com/a/37831097/4249825

+0

Wenn Sie sagen, Sie bekommen etwas _like_ das, was erhalten Sie eigentlich buchstäblich, wörtlich? –

+0

Ich würde lieber überprüfen, welche Kodierung der '' 'MPTimedMetadata.value''' verwendet und dann ist die Konvertierung einfach. – kandelvijaya

+0

Dies ist nicht etwas, das Sie beheben können, es ist ein Problem in der Bibliothek. – Sulthan

Antwort

2

Dies ist ein Problem in der Bibliothek, können Sie nicht reparieren, da die Zeichenfolge bereits von Daten decodiert werden.

Es gibt einen Grund, warum die ganze Reihe von Klassen in iOS 9.

veraltet wurde Sie AVPlayerViewController & AVPlayer & AVPlayerItem & AVMetadataItem verwenden sollten.

Sie lösen dieses Problem. Verwenden Sie nicht MPMoviePlayerController.

+0

Mir gefiel der Bearbeitungsfluss. Danke – Mugurel

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