简体   繁体   中英

AVPlayer is not playing audio from Document directory using Swift3

I have an audio files, stored in Document directory. I want play it using AVPlayer but it is not playing. I am using Swift3.

 var myurl : NSURL!
 var audioPlayer = AVPlayer()

 override func viewWillAppear(_ animated: Bool) {

    super.viewWillAppear(animated)
 // Getting sound from Document directory

    let fileManager = FileManager.default
    let docsurl = try! fileManager.url(for:.documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)

    myurl  = docsurl.appendingPathComponent("/\(songName!)")

   playSound(url:  myurl! as NSURL)

  }
   // Playing Sound

  func playSound(url:NSURL){

        let asset = AVURLAsset(url: url as URL, options: nil)

        let playerItem = AVPlayerItem(asset: asset)

        self.audioPlayer.replaceCurrentItem(with: playerItem)

        let durationInSeconds = CMTimeGetSeconds(asset.duration)

        self.getSeconds = Int(durationInSeconds)

         self.audioPlayer.play()
         } 

I am getting url from document directory, but it is not playing. Don't know why? Thanks in Advance.

Put this code in AppDelegate.swift file in application:didFinishLaunchingWithOptions: method and see if you can hear the audio:

do {
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}catch {
    print(error)
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM