簡體   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