Swift 实现AVPlayer的后台播放功能

2018-06-13  本文已影响0人  张鹏飞_6b83

(1)为了让播放器能在后台持续播放,我们需要将 Targets -> Capabilities ->BackgroundModes 设为 ON,同时勾选“Audio, AirPlay, and Picture in Picture”。

image.png

(2)同时还要在 AppDelegate.swift 中注册后台播放。

import UIKit
import AVFoundation
 
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
 
    var window: UIWindow?
 
 
    func application(_ application: UIApplication, didFinishLaunchingWithOptions
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
         
        // 注册后台播放
        let session = AVAudioSession.sharedInstance()
        do {
            try session.setActive(true)
            try session.setCategory(AVAudioSessionCategoryPlayback)
        } catch {
            print(error)
        }
         
        return true
    }
 
    func applicationWillResignActive(_ application: UIApplication) {
    }
 
    func applicationDidEnterBackground(_ application: UIApplication) {
    }
 
    func applicationWillEnterForeground(_ application: UIApplication) {
    }
 
    func applicationDidBecomeActive(_ application: UIApplication) {
    }
 
    func applicationWillTerminate(_ application: UIApplication) {
    }
}

上一篇 下一篇

猜你喜欢

热点阅读