UIWebView 中的后台音频播放

Background audio playback in UIWebView

我的应用程序允许用户访问通过网络播放有声读物的服务。我正在使用 UIWebView 来处理这个问题。

当应用程序退出或设备进入睡眠状态时,音频将停止播放。由于我只是显示网页视图而不是直接播放音频文件,所以我无法使用这些方法在后台播放音频。

但是,如果您通过 Safari 应用程序访问同一个 link,音频会在 phone 进入睡眠状态后继续播放。我怎样才能在我的应用程序中实现相同的效果?

首先,在您的 Info.plist:

中启用您的应用程序的背景音频播放
<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

如果您还没有这样做,请在您的 AppDelegate 或其他 class:

中设置您的应用以播放音频
import AVFoundation

// ...

do {
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
} catch {
    // Handle setCategory failure
    print(error)
}