繁体   English   中英

如何快速将base64转换为NSDATA

[英]How to convert base64 into NSDATA in swift

我正在开发一个iOS项目。 它将音频以base64字符串的形式存储在Web服务器上。 当我请求服务器获取所有音频的base64字符串并尝试在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上,相同的base64字符串被转换为字节数组并正在播放,但是在iOS上, audioBase64StringNSData返回nil

这有效:

Swift 3和4:

var audioData = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters)

斯威夫特2:

var audioData = NSData(base64EncodedString: recording_base64, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)

对于Swift 3:

var audioData = Data(base64Encoded: recording_base64, options: .ignoreUnknownCharacters)

试试这个库 您可以从base64字符串获取NSData,然后使用此数据初始化AVAudioPlayer。 请阅读AVAudioPlayer Apple的文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM