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)!
我需要阅读一些可能包含法语或德语字符和重音的元数据。
我认为我需要将元数据读取为 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)!