iOS应用程序无法在后台播放音频

时间:2020-09-18 12:00:27

标签: ios swift avfoundation avkit

我已经创建了一个用于播放URL中的广播流的应用程序,但是当该应用程序处于后台时它无法播放音频。我在应用程序设置的背景模式下检查了音频和播放,但仍然无法正常工作。我需要在appdelegate中添加一些权限吗?有任何想法吗?预先感谢您的帮助。这是我的代码:

import UIKit
import AVKit



class ViewController: UIViewController {
    
    
    
    var player : AVPlayer!
    var dict = NSDictionary()
    
   
    @IBOutlet weak var ArtistLabel: UILabel!
    
    
    @IBAction func playButtonPressed(_ sender: UIButton){
        let url = "https://test.com/stream.mp3"
            player = AVPlayer(url: URL(string: url)!)
            player.volume = 1.0
            player.rate = 1.0
            player.play()
        
    }
    
    
    
    @IBAction func stopButtonStopped(sender: UIButton) {
        player.pause()
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        overrideUserInterfaceStyle = .light
       
    }
   

}

1 个答案:

答案 0 :(得分:2)

您需要设置应用程序功能背景模式(音频和AirPlay),并将AVAudioSession类别设置为AVAudioSessionCategoryPlayback并将其设置为活动状态。 请参考以下链接: How to play audio in background with Swift?