Search code examples
iosswiftiphonebase64decode

base64 String to Audio mp3 in iOS?


I have an base64 string and want to convert it into mp3 audio file.

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

It always returns nil.


Solution

  • let base64String : String = "some sample base64"
    let audioData = Data(base64Encoded: base64String, options: .ignoreUnknownCharacters)
    
    if audioData != nil {
      if let audData = audioData {
        self.playAudio(audioData: audData)
      }
    }
    
    func playAudio(audioData : Data) {
      let filename = documentsDirectory.appendingPathComponent("output.mp3")
      do {
        try audioData.write(to: filename, options: .atomicWrite)
        do {
          audioPlayer = try AVAudioPlayer(contentsOf: filename)
          guard let player = audioPlayer else { return }
          player.prepareToPlay()
          player.play()
        } catch let error {
          print(error.localizedDescription)
        }
      } catch {
      }
    }