0

I was trying to read a file xyz.m4a and trying to play it. But I have an error

2018-04-24 18:11:20.010927+0530 Demo[10807:690526] NSURLConnection finished with error - code -1002
2018-04-24 18:11:20.327008+0530 Demo[10807:688427] CFURLCopyResourcePropertyForKey failed because it was passed an URL which has no scheme
Error: The file “xyz.m4a” couldn’t be opened.

Here is my code:

func audioMethod() {
    let fileName = "xyz.m4a",
    audioFile = getDocumentsURL().appendingPathComponent(fileName)
    if !FileManager.default.fileExists(atPath: audioFile.path) {
        print("We have no file !!!!!")
    }
    do {
        let audioData = try Data(contentsOf: audioFile)
        if audioPlayer == nil {
            audioPlayer = try AVAudioPlayer.init(data: audioData, fileTypeHint: "m4a")
        }
        audioPlayer?.play()
    } catch let error {
        print("Error: " + error.localizedDescription)
    }
}

func getDocumentsURL() -> URL {
    let urlStr = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first
    let url = URL(string: urlStr!)
    return url!
}

If I pass that URL direct in AVAudioPlayer as AVAudioPlayer.init(contentsOf: audioFile) then it works fine.

I have tried everything. But nothing works. Please let me know what is wrong with my code.

Chanchal Chauhan
  • 1,530
  • 13
  • 25

1 Answers1

0
  if let path = Bundle.main.path(forResource: "videoplayback", ofType: "mp4"){
        let video = AVPlayer(url: URL(fileURLWithPath:path))

        let videoPlayer = AVPlayerViewController()
        videoPlayer.player = video
        present(videoPlayer,animated: true,completion: {
            video.play()
        })
    }

Add that Video in File Explorer

Then try with above code