手机闲置屏幕时识别语音?

时间:2012-03-01 09:25:51

标签: java android voice-recognition

即使手机处于空闲状态或屏幕关闭,我能识别语音service吗?我的意思是,即使在闲置状态下,手机也可以听取用户的意见。

3 个答案:

答案 0 :(得分:1)

这是关于如何实现这一目标的整个计划。

http://developer.android.com/guide/topics/media/audio-capture.html

显示如何录制音频,可以使用相同的实现来收听音频。

此外,有关哪些服务的DEV GUIDE。

来自developer.android.com

  

服务是在后台运行以执行的组件   长时间运行的操作或执行远程进程的工作。一个   服务不提供用户界面。例如,一项服务   当用户处于不同的状态时,可能会在后台播放音乐   应用程序,或者它可以通过网络获取数据而不会阻塞   用户与活动的互动。另一个组件,如   activity,可以启动服务并让它按顺序运行或绑定到它   与它互动。服务是作为服务的子类实现的   您可以在服务开发者指南中了解有关它的更多信息。

这应该为您提供所需的所有信息: http://developer.android.com/guide/topics/fundamentals/services.html

答案 1 :(得分:0)

您必须在服务中获取wakelock,以防止手机入睡,以便录制音频。您可以坚持使用PARTIAL_WAKELOCK,因为您不需要打开屏幕。

您还需要获得唤醒锁许可。

保持设备处于活动状态并持续处理声音对于我能想到的任何实现都是不明智的。

对于大多数用途来说,这是一个可怕的想法,因为它会在几个小时(顶部)耗尽电池。

答案 2 :(得分:0)

我一直在努力准备后台录音机(屏幕关闭时),这些是我发现的选项:

  1. 完整的唤醒锁可让您继续记录,但保持屏幕开启。 (不理想)

  2. 部分唤醒锁会很好,除非它实际上不起作用-至少在我的手机上。 (cpu保持活动状态,但几分钟后来自麦克风的数据变为0s)

  3. 使用前台服务启动启动记录音频的后台线程。这是最好的方法,因为它可以关闭屏幕,同时仍可以无限期录制。

请参见此处的示例:https://stackoverflow.com/a/57260468/2441655