如何迅速将base64转换成NSDATA
我正在开发一个iOS项目。 它以base64string的forms将audio存储在Web服务器上。 当我请求服务器获得所有audio的base64string,并试图在NSData
转换,我得到nil
。
do { var audioData: NSData! = NSData(base64EncodedString: audioBase64String, options: NSDataBase64DecodingOptions(rawValue:0)) if audioData != nil { let sound = try AVAudioPlayer(data: audioData) sound.play() } else { print("Data Not Exist") } } catch { }
在Android上,相同的base64string被转换成字节数组并且正在播放,但是在iOS中, audioBase64String
为NSData
返回nil
。
这工作:
audioData = NSData(base64EncodedString: recording_base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
对于Swift 3:
var audioData = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters)
试试这个库 。 您可以从base64string获取NSData,然后使用此数据初始化您的AVAudioPlayer。 请阅读AVAudioPlayer Apple的文档。