iOS-Swift-AVPlayer:播放包含khmer unicode的url时出错



我刚刚用AVPlayer构建了一个自定义视频播放器,我发现我只能播放包含英文字符的url的视频(例如:http://app.ournsarath.com/uploads/videos/mp4s/09_03_2018_business.mp4)。每当我传递包含khmer unicode的url时(例如:http://app.ournsarath.com/uploads/sound/mp3s/01.06.2018Helpingothersចង់ជួយគេ.mp4(,玩家根本不玩。我是iOS开发的新手。如有任何建议或指示,我们将不胜感激。谢谢

我找到了一个解决方案,在将url字符串传递到AVPlayer之前对其进行编码。

func setupPlayer(link: String){
let encodedString = link.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
if let url = URL(string: encodedString!) {
player = AVPlayer(url: url)
let playerLayer = AVPlayerLayer(player: player)
self.layer.addSublayer(playerLayer)
playerLayer.frame = self.frame
player?.play()
}

最新更新