0

我有一个应用程序,它依赖于记录所有声音并对其进行分析,并在记录特定音调时通知我。

所以这个应用程序消耗电池电量,因为它一直在工作以检测想要的音调。

我需要一个想法来防止这个问题。

提前致谢。

4

1 回答 1

0

您似乎不允许处理器进入静态低功耗状态。为了让处理器节省电力,您需要让处理器尽可能空闲。如果您连续采样,则不会发生这种情况。我在这里的回答可以给你一些背景。

我建议您执行以下操作:

  1. 找出您可以使用的最低保真度并仍然确定您想要的音调。换句话说,确定最大采样间隔。例如,您可能会发现您可以通过每四分之一秒采样一次,并且仍然可以识别您想要的音调。这将允许处理器进入能量守恒状态。
  2. 确保您使用的是中断而不是轮询,即使用类似 usleep() 的东西。因此,要每 0.25 秒检查一次,您将使用类似 while( running ){ sampleTone(); 睡眠(250000);}。
  3. 检查您的声音采样设备的功能。它可能有能力做一些更复杂的事情,这将进一步减少您需要的样本/秒数。例如,它可能允许您将样本直接发送到磁盘或内存,而无需唤醒 CPU。
于 2015-08-26T04:27:45.720 回答