今天扩展和背景音频

Posted

技术标签:

【中文标题】今天扩展和背景音频【英文标题】:Today Extension and background audio 【发布时间】:2014-08-02 13:47:15 【问题描述】:

我正在尝试为 ios 8 制作一个类似播客的简单小部件。一切正常,音频正常...除了屏幕休眠时,音频停止。

Today Extension 可以做背景音频吗?还是一般的多任务处理?

【问题讨论】:

【参考方案1】:

没有。今天 Widget 在离开视野时被销毁(由 viewDidDisappear 证明).. 所以只有当 Widget 物理地在视野中时才能启用声音。

编辑: 不,它链接到运行它的主机应用程序。如 Apple 文档中所述,扩展是通过包含应用程序交付的专用二进制文件。包含的应用程序仅用于交付,扩展程序独立运行。尽管如此,除了扩展之外,还需要一个包含 iOS 的应用程序才能有效地提供一些功能。在 OS X 上,这样的要求被放宽了,包含的应用不需要提供任何额外的功能。

如前所述,扩展生命周期与其包含的应用完全无关,它包括 4 个步骤:

用户选择应用扩展程序。 系统启动它。 应用程序扩展运行。 系统终止应用扩展。

http://www.infoq.com/news/2014/07/apple-ios8-app-extensions

【讨论】:

这不就和一个看不见的应用一样吗?该应用可以注册到背景音频,这是多任务处理的一部分。 不,它链接到运行它的主机应用程序。 不明白你最后的陈述。我的意思是,如果一个普通的应用程序可以做背景音频,今天的扩展程序可以做同样的事情吗?因为我没有找到任何无法做到的文档? 基本上,扩展程序链接到运行它的应用程序(例如电子邮件应用程序或该人正在使用的任何应用程序),因此无法运行任何后台进程。【参考方案2】:

正如@ktzhang 提到的,背景音频不适用于扩展。

但是,一些有限的多任务处理是可能的,documentation 说您“可以在扩展程序中设置后台 URL 上传或下载任务”。

【讨论】:

以上是关于今天扩展和背景音频的主要内容,如果未能解决你的问题,请参考以下文章

合并背景音频文件

小程序 - 音频能力介绍

AudioKit背景音频电池使用

AVCapturesSession - 捕捉视频、麦克风和背景音频

iPhone中是不是启用了背景音频播放?

Android中使用SoundPool来播放音频