Чтение данных из файла Swift - PullRequest
0 голосов
/ 24 апреля 2018

Я пытался прочитать файл xyz.m4a и пытался воспроизвести его. Но у меня ошибка

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.

Вот мой код:

    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!
}

Если я передам это URL direct в AVAudioPlayer как AVAudioPlayer.init(contentsOf: audioFile), тогда оно будет работать нормально.

Я все перепробовал. Но ничего не работает. Пожалуйста, дайте мне знать, что не так с моим кодом.

1 Ответ

0 голосов
/ 24 апреля 2018
  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()
        })
    }

Добавить это видео в Проводник

Тогда попробуйте с кодом выше

...