gpt4 book ai didi

ios - AVPlayer 在后台停止

转载 作者:可可西里 更新时间:2023-11-01 04:43:35 39 4
gpt4 key购买 nike

我正在使用 AVPlayer 从 URL 播放音频。一切都按预期工作,直到 APP 进入后台或 iphone 进入休眠模式。

我怎样才能防止这种情况发生。

我已经添加到 info.plist 中:

enter image description here

这是我的代码。

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

let playTrackID = tracks[indexPath.row].trackID

let urlString = url
let url = NSURL(string: urlString)!

avPlayer = AVPlayer(URL:url)

avPlayer.play()

}

有什么想法吗?

更新:由@Danil Gontovnik 解决

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

let playTrackID = tracks[indexPath.row].trackID

let urlString = url
let url = NSURL(string: urlString)!

do {

avPlayer = AVPlayer(URL:url)

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)

}

catch {

print("Something bad happened. Try catching specific errors to narrow things down")
}


avPlayer.play()

最佳答案

我认为您忘记将 AVAudioSession 设置为事件状态。尝试添加此代码:

var categoryError: NSError?
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &categoryError)

if categoryError != nil {
// Handle error
}

var activeError: NSError?;
AVAudioSession.sharedInstance().setActive(true, error: &activeError)

if activeError != nil {
// Handle error
}

可以找到关于AVAudioSession的更多信息here .

关于ios - AVPlayer 在后台停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32186392/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com