ios – AVPlayer在后台停止

ios – AVPlayer在后台停止,第1张

概述我正在使用AVPlayer播放来自URL的音频.一切都按预期工作,直到APP进入后台或iPhone进入睡眠模式. 我怎样才能防止这种情况发生. 我已经添加到info.plist: 这是我的代码. override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 我正在使用AVPlayer播放来自URL的音频.一切都按预期工作,直到APP进入后台或iPhone进入睡眠模式.

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

我已经添加到info.pList:

这是我的代码.

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在后台停止全部内容,希望文章能够帮你解决ios – AVPlayer在后台停止所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1046631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存