2017-05-10 8 views
0

私はSwiftを初めて使用しています。Firebaseからオーディオをダウンロードしてローカルに保存しましたが、AVAudioPlayerで再生する方法はわかりません。どんな助けもありがとう。これは私がこれまでに得たものです。Swift 3 Firebaseからダウンロードしたオーディオを再生

class FireBaseViewController: UIViewController { 

    var audioPlayer:AVAudioPlayer = AVAudioPlayer() 

    override func viewDidLoad() { 
     super.viewDidLoad() 


     let storageRef = FIRStorage.storage().reference() 

     let files = storageRef.child("Audio/Self Commitment.m4a") 

     let localURL: NSURL! = NSURL(fileURLWithPath:"/Users/wayne/Desktop/Playground/Audio/Self Commitment.m4a") 

     let downloadTask = files.write(toFile: localURL as URL) { (URL, error) -> Void in 
         if (error != nil) { 
          print("Uh-oh, an error occurred!") 
         } else { 
          print("Local file URL for is returned") 
         } 
        } 

       let audioPath = localURL 

     do { 

      try audioPlayer = AVAudioPlayer(contentsOf:URL(fileURLWithPath: audioPath)) 

     } catch {print("file is unavilable") 

     } 
     audioPlayer.play() 

    } 

    } 

答えて

0

私は同じ問題を抱えていました。私はURLを生成するためのFileManagerのを使用してやった私は自分のファイルを保存する場所

let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false).appendingPathComponent("file_name.mp3") 

次に、ファイルを保存し、このようにそれを再生することができます:

storeRef.getData(maxSize: 10 * 1024 * 1024) { (data, error) in 
     if let error = error { 
      print(error) 
     } else { 
      if let d = data { 
       do { 
        try d.write(to: fileURL) 
        self.audioPlayer = try AVAudioPlayer(contentsOf: fileURL) 
        self.audioPlayer.play() 
       } catch { 
        print(error) 
       } 
      } 
     } 
    } 

私はすでにそれを試してみました、それが働きました!

関連する問題