【问题标题】:iOS app does not play audio while background [duplicate]iOS应用程序在后台不播放音频[重复]
【发布时间】:2021-01-05 08:53:35
【问题描述】:

我创建了一个用于从 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
       
    }
   

}

【问题讨论】:

标签: ios swift avfoundation avkit


【解决方案1】:

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

【讨论】: