Xcode swift - 背景模式 - 锁定时AVPlayer中的音频

Mor*_*dia 2 audio xcode ios avplayer

我有一个AVPlayer设置但是当手机被锁定或在主屏幕上时,我似乎无法继续播放视频音频.我已经编辑了info.plist并启用了音频后台模式,但我认为需要添加一些代码.请你救我.谢谢

这是我的代码:

import UIKit
import AVFoundation
import AVKit

class ViewController: UIViewController {

    @IBAction func WarmUp(sender: UIButton)
    {
        WarmUpVideo()
    }

    func WarmUpVideo()
    {
        let filePath = NSBundle.mainBundle().pathForResource("132", ofType: "MOV")
        let videoURL = NSURL(fileURLWithPath: filePath!)

        let player = AVPlayer(URL: videoURL)
        let playerViewController = AVPlayerViewController()

        playerViewController.player = player

        self.presentViewController(playerViewController, animated: true) { () -> Void in playerViewController.player!.play()
        }

    }

    func playExternalVideo()
    {

}


    @IBAction func CoolDown(sender: UIButton)
    {
        CoolDownVideo()
    }

    func CoolDownVideo()
    {
        let filePath = NSBundle.mainBundle().pathForResource("132", ofType: "mp4")
        let videoURL = NSURL(fileURLWithPath: filePath!)

        let player = AVPlayer(URL: videoURL)
        let playerViewController = AVPlayerViewController()

        playerViewController.player = player

        self.presentViewController(playerViewController, animated: true) { () -> Void in playerViewController.player!.play()
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

Jad*_*Jad 9

我想你错过了以下代码:

do {
    try AVAudioSession.sharedInstance()
                          .setCategory(AVAudioSession.Category.playback)
    print("AVAudioSession Category Playback OK")
    do {
        try AVAudioSession.sharedInstance().setActive(true)
        print("AVAudioSession is Active")
    } catch let error as NSError {
        print(error.localizedDescription)
    }
} catch let error as NSError {
    print(error.localizedDescription)
}
Run Code Online (Sandbox Code Playgroud)

将其添加到viewDidLoad.