【问题标题】:How to properly make background audio playback on iOS work?如何在 iOS 上正确播放背景音频?
【发布时间】:2016-08-30 10:09:52
【问题描述】:

我正在尝试构建一个 Radio Streaming 应用程序。我已经为可能的 RadioPlayer 创建了一个 Singleton 类,如下所述,并且我打开了背景模式 > 音频、AirPlay 和画中画。

但是,当我的应用程序进入后台模式时,音频会停止播放。我在这里错过了什么?

感谢任何帮助!谢谢!

import Foundation
import AVFoundation

class RadioPlayer {

  static let sharedInstance = RadioPlayer()

  var player = AVPlayer(playerItem: RadioPlayer.radioPlayerItem())
  var isPlaying = false

  class func radioPlayerItem() -> AVPlayerItem {
    return AVPlayerItem(URL: urlRadio())
  }

  class func urlRadio() -> NSURL {
    let roRadio = Repository.realm.objects(RORadio)
    let url: NSURL = NSURL(string: roRadio[0].streaming)!
    return url
  }

  func toggle() {
    if isPlaying == true {
      pause()
    } else {
      play()
    }
  }

  func play() {
    player.play()
    isPlaying = true
  }

  func pause() {
    player.pause()
    isPlaying = false
  }

  func currentlyPlaying() -> Bool {
    return isPlaying
  }
}

【问题讨论】:

    标签: ios swift streaming avfoundation


    【解决方案1】:

    应允许应用程序在后台继续运行。打开 Info.plist 文件并添加 UIBackgroundModes 的键。您的目标将只有一个字符串“音频”。

    【讨论】:

    • 嗨 Onur,谢谢,但我已将其设置为 [背景模式 > 音频、AirPlay 和画中画。]
    • 您还从网络获取音频。所以你需要一个更宽松的后台模式,允许持续的网络访问。
    • @Curmudgeonlybumbly 你能给我举个例子吗?谢谢!
    猜你喜欢
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    相关资源
    最近更新 更多