问题描述
我已经创建了一个用于播放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
}
}
解决方法
您需要设置应用程序功能背景模式(音频和AirPlay),并将AVAudioSession类别设置为AVAudioSessionCategoryPlayback并将其设置为活动状态。 请参考以下链接: How to play audio in background with Swift?