我知道如果我在前台启动录音会话,在功能中激活音频,Airplay和画中画 - >背景模式;我甚至可以在后台继续录制,但前提是我在前台开始录制会话然后进入后台。
我的问题是我想从后台启动录音会话,这可能看起来很阴暗而不是Apple想要的,但用例是这样的:
我有一个蓝牙LE设备,带有按钮和iOS应用程序。这两个是配对的(蓝牙LE设备和运行iOS应用程序的iPhone),iOS应用程序正在监听蓝牙LE设备上的事件,例如按一下按钮等事件。
现在,当用户点击Bluetooth LE设备上的按钮时,iOS应用程序会捕获该事件,即使应用程序处于后台,我也可以运行代码,但我无法开始录音。 / p>
我的问题是:是否可能?从后台开始录音?即使我们在这里有用户交互,不是在iOS应用程序上而是在蓝牙LE上,所以它不像在后台开始录音并且用户不知道它,他按下蓝牙LE上的按钮设备,他知道他在做什么。
Apple工程师的任何帮助,文档,推文,都会非常感激。感谢。
更新:不需要MFI。 https://mfi.apple.com/MFiWeb/getFAQ.action#1-2。
如果您查看以下部分:
"哪些类型的配件和技术不属于MFi计划?"
你会看到:
"仅使用蓝牙低功耗(BTLE)的配件(注意:支持BTLE的HomeKit配件和支持BTLE的MFi助听器是MFi计划的一部分)"
提到,这意味着 MFI 不需要 。
答案 0 :(得分:3)
连续播放或录制音频的应用程序(即使应用程序是 在后台运行)可以注册执行那些任务 背景。您可以从后台模式部分启用音频支持 Xcode项目中的Capabilities选项卡。 (您也可以启用 通过在音频中包含UIBackgroundModes键来获得此支持 应用程序的Info.plist文件中的值。)播放音频内容的应用程序 背景必须播放听觉内容,而不是沉默。
背景音频应用的典型示例包括:
音乐播放器应用音频录制应用支持音频或应用的应用 通过AirPlay VoIP应用播放视频
对于需要执行更多执行时间的任务,您必须这样做 请求特定权限,以便在后台运行它们 他们被停职了。在iOS中,只允许使用特定的应用类型 在后台运行:
- 在后台录制音频内容的应用
编辑:
还有关于您的"蓝牙设备":
查看ExternalAccessory的文档。
请注意,您需要申请并获得special developer program的批准才能创建外部配件。
答案 1 :(得分:1)
有用的提示::
事实证明,如果您只是将音频多任务标记添加到信息中,Apple的SpeakHere示例代码会进行一些修改,将开始在后台录制音频。您可能会看https://github.com/benvium/SpeakHere获取SpeakHere的更新版本,因为Apple暂时没有更新它。