public class RecognizerIntent
extends Object
java.lang.Object | |
↳ | android.speech.RecognizerIntent |
Public methods |
|
---|---|
static final Intent |
getVoiceDetailsIntent(Context context) 用 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
String ACTION_GET_LANGUAGE_DETAILS
广播意图,其可以发射到 BroadcastReceiver
在所定义的元数据指定的组件 DETAILS_META_DATA
一个的元数据 Activity
满足 ACTION_WEB_SEARCH
。
当用 sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle)
发射时, Bundle
的额外信息将返回给提供的结果接收器,理想情况下应包含 EXTRA_LANGUAGE_PREFERENCE
和 EXTRA_SUPPORTED_LANGUAGES
值。
(无论这些实际上提供的是到特定的实现。建议 Activity
小号实施 ACTION_WEB_SEARCH
提供这些信息,但它不是必需的。)
常量值:“android.speech.action.GET_LANGUAGE_DETAILS”
String ACTION_RECOGNIZE_SPEECH
开始一个活动,提示用户发言并通过语音识别器发送。 结果将通过活动结果(在onActivityResult(int, int, Intent)
,如果您使用startActivityForResult(Intent, int)
开始意图)返回,或者通过PendingIntent(如果提供了该结果)转发。
不支持startActivity(Intent)
开始此目的。 您必须使用startActivityForResult(Intent, int)
或提供PendingIntent来接收识别结果。
该API的实现可能会将音频流传输到远程服务器,以执行可以使用大量带宽的语音识别。
所需额外费用:
可选附加功能:
EXTRA_PROMPT
EXTRA_LANGUAGE
EXTRA_MAX_RESULTS
EXTRA_RESULTS_PENDINGINTENT
EXTRA_RESULTS_PENDINGINTENT_BUNDLE
结果额外结果(在结果中返回,不在请求中指定):
注意:可能没有安装任何应用程序来处理此操作,因此您应该确保捕获 ActivityNotFoundException
。
常量值:“android.speech.action.RECOGNIZE_SPEECH”
String ACTION_VOICE_SEARCH_HANDS_FREE
开始一个活动,提示用户发言,而不需要用户的视觉注意或触摸输入。 它将通过语音识别器发送它,并且为网络搜索结果合成语音,或基于用户的语音触发另一种类型的操作。 此设备可以在设备锁定在安全模式下时启动。 必须特别注意确保在免提时执行的语音操作不会危及设备的安全。 该活动应检查EXTRA_SECURE
额外的值以确定设备是否已安全锁定。 如果是这样,那么在继续之前,该活动应该限制允许的语音操作集或需要某种形式的安全身份验证。 为确保活动的用户界面在锁定屏幕显示时可见,该活动应设置FLAG_SHOW_WHEN_LOCKED
窗口标志。 否则,活动的用户界面可能会被锁定屏幕隐藏。 当设备安全锁定时,活动应该注意不要泄露私人信息。
可选附加功能:
常量值:“android.speech.action.VOICE_SEARCH_HANDS_FREE”
String ACTION_WEB_SEARCH
开始一个活动,提示用户说话,通过语音识别器发送,并显示网络搜索结果或根据用户的讲话触发另一种类型的操作。
如果您想避免触发除网页搜索以外的任何类型的操作,则可以使用 EXTRA_WEB_SEARCH_ONLY
多余的功能。
所需额外费用:
可选附加功能:
EXTRA_PROMPT
EXTRA_LANGUAGE
EXTRA_MAX_RESULTS
EXTRA_PARTIAL_RESULTS
EXTRA_WEB_SEARCH_ONLY
EXTRA_ORIGIN
结果额外结果(在结果中返回,不在请求中指定):
EXTRA_RESULTS
EXTRA_CONFIDENCE_SCORES
(optional) 注:可能没有安装任何应用程序来处理此操作,因此您应该确保捕获 ActivityNotFoundException
。
常量值:“android.speech.action.WEB_SEARCH”
String DETAILS_META_DATA
元数据名下其中 Activity
实施 ACTION_WEB_SEARCH
可以使用以暴露的类名 BroadcastReceiver
其可以响应有关详细信息请求,从任何在该类中指定的广播意图的。
广播意图可被引导到通过创建在所述元数据指定的类名 Intent
,与设置部件 setComponent(android.content.ComponentName)
,以及使用 sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle)
与另一 BroadcastReceiver
可接收的结果。
提供 getVoiceDetailsIntent(Context)
方法是为了方便创建基于此元数据值的广播意图(如果可用)。
这是可选的,并非所有Activity
S的实施ACTION_WEB_SEARCH
都需要实现这一点。 因此检索这个元数据可能是空的。
常量值:“android.speech.DETAILS”
String EXTRA_CALLING_PACKAGE
用于语音识别器用于语音搜索的额外密钥。 通常不被开发人员使用。 系统搜索对话框例如使用这个对话框来设置用于通过语音搜索API识别的呼叫包。 如果此额外信息由系统进程以外的任何人设置,则应由语音搜索实施覆盖。
常量值:“calling_package”
String EXTRA_CONFIDENCE_SCORES
执行ACTION_RECOGNIZE_SPEECH
时,识别结果的置信度分数浮点阵列。 该数组的大小应与EXTRA_RESULTS
返回的ArrayList的大小相同,并且应包含范围从0.0到1.0的值或-1以表示不可用的置信度分数。
置信度值接近1.0表示置信度较高(语音识别器确信识别结果正确),而接近0.0的值表示置信度较低。
返回结果; 不在识别请求中指定。 这额外是可选的,可能不提供。 仅当活动结果中返回RESULT_OK
时才出现。
常量值:“android.speech.extra.CONFIDENCE_SCORES”
String EXTRA_LANGUAGE
可选的IETF语言标签(由BCP 47定义),例如“en-US”。 该标签通知识别器以不同于getDefault()
设置的语言执行语音识别。
常量值:“android.speech.extra.LANGUAGE”
String EXTRA_LANGUAGE_MODEL
当执行ACTION_RECOGNIZE_SPEECH
时,通知识别器哪个语音模型更喜欢。 识别器使用这些信息来微调结果。 这额外是必需的。 执行ACTION_RECOGNIZE_SPEECH
活动可能会根据他们认为合适的值来解释这些值。
常量值:“android.speech.extra.LANGUAGE_MODEL”
String EXTRA_LANGUAGE_PREFERENCE
Bundle
由 Bundle
返回的 ACTION_GET_LANGUAGE_DETAILS
的额外 ACTION_GET_LANGUAGE_DETAILS
,它是 String
,表示此用户指定的当前语言首选项 - 一个区域设置字符串,如“en-US”。
常量值:“android.speech.extra.LANGUAGE_PREFERENCE”
String EXTRA_MAX_RESULTS
对返回结果的最大数量的可选限制。 如果省略,识别器将选择返回多少结果。 必须是整数。
常量值:“android.speech.extra.MAX_RESULTS”
String EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE
在ACTION_GET_LANGUAGE_DETAILS
的广播中指定此布尔额外值以指示响应中只需要当前语言首选项。 如果您在响应中只需要EXTRA_LANGUAGE_PREFERENCE
,就可以避免任何额外的计算。
常量值:“android.speech.extra.ONLY_RETURN_LANGUAGE_PREFERENCE”
String EXTRA_ORIGIN
可用于指示请求语音的页面的引用者URL的可选值。 例如,网络浏览器可以选择提供这个用于在给定页面上的语音使用。
常量值:“android.speech.extra.ORIGIN”
String EXTRA_PARTIAL_RESULTS
可选布尔值,指示识别器在用户说话时是否应返回部分结果(默认为false)。 在部分或全部情况下,服务器可能会忽略部分结果的请求。
常量值:“android.speech.extra.PARTIAL_RESULTS”
String EXTRA_PREFER_OFFLINE
可选的布尔,与使用ACTION_RECOGNIZE_SPEECH
, ACTION_VOICE_SEARCH_HANDS_FREE
, ACTION_WEB_SEARCH
指示是否仅使用离线语音识别引擎。 默认值为false,表示可以使用网络或离线识别引擎。
常量值:“android.speech.extra.PREFER_OFFLINE”
String EXTRA_PROMPT
可选的文本提示在要求用户发言时显示给用户。
常量值:“android.speech.extra.PROMPT”
String EXTRA_RESULTS
当执行ACTION_RECOGNIZE_SPEECH
时,识别结果的ArrayList <String>。 通常这个列表应该按照语音识别器信心的降序排列。 (见EXTRA_CONFIDENCE_SCORES
)。 返回结果; 不在识别请求中指定。 仅在活动结果中返回RESULT_OK
时才存在。 在PendingIntent中,缺少这个额外的值表示失败。
常量值:“android.speech.extra.RESULTS”
String EXTRA_RESULTS_PENDINGINTENT
当意图是ACTION_RECOGNIZE_SPEECH
,语音输入活动将通过活动结果机制将结果返回给您。 或者,如果您使用此额外提供PendingIntent,则结果将被添加到其捆绑中,PendingIntent将被发送到其目标。
常量值:“android.speech.extra.RESULTS_PENDINGINTENT”
String EXTRA_RESULTS_PENDINGINTENT_BUNDLE
如果您使用EXTRA_RESULTS_PENDINGINTENT
提供转发意向,则还可以使用此额外信息为最终意向提供额外附加信息。 搜索结果将被添加到该捆绑包中,并且组合捆绑包将被发送到目标。
常量值:“android.speech.extra.RESULTS_PENDINGINTENT_BUNDLE”
String EXTRA_SECURE
可选布尔值表示在设备处于安全模式时执行“免提”语音搜索。 安全模式的一个例子是设备的屏幕锁定处于活动状态,并且需要某种形式的身份验证才能解锁。 当设备安全锁定时,语音搜索活动应该限制允许的语音操作集,或者在继续之前需要某种形式的安全身份验证。
常量值:“android.speech.extras.EXTRA_SECURE”
String EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS
在我们停止听到语音以考虑输入完成后应该花费的时间。 请注意,您很想在意图中指定此值,这一点非常罕见。 如果你没有很好的理由去改变这些,你应该保持原样。 还请注意,某些值可能会导致意外或意外的结果 - 谨慎使用! 另外,根据识别器的实现,这些值可能不起作用。
常量值:“android.speech.extras.SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS”
String EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS
话语的最小长度。 在这段时间之前我们不会停止录音。 请注意,您很想在意图中指定此值,这一点非常罕见。 如果你没有很好的理由去改变这些,你应该保持原样。 还请注意,某些值可能会导致意外或意外的结果 - 谨慎使用! 另外,根据识别器的实现,这些值可能不起作用。
常量值:“android.speech.extras.SPEECH_INPUT_MINIMUM_LENGTH_MILLIS”
String EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS
在我们停止听取语音以考虑输入可能完成之后应该花费的时间量。 这用于防止在非常短暂的中间语音暂停期间切断端点。 请注意,您很想在意图中指定此值,这一点非常罕见。 如果你没有很好的理由去改变这些,你应该保持原样。 还请注意,某些值可能会导致意外或意外的结果 - 谨慎使用! 另外,根据识别器的实现,这些值可能不起作用。
常量值:“android.speech.extras.SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS”
String EXTRA_SUPPORTED_LANGUAGES
Bundle
由 Bundle
返回的 ACTION_GET_LANGUAGE_DETAILS
,它是 ArrayList
的 String
,它代表此语音识别实现所支持的语言 - “en-US”,“cmn-Hans-CN”等字符串列表。
常量值:“android.speech.extra.SUPPORTED_LANGUAGES”
String EXTRA_WEB_SEARCH_ONLY
与ACTION_WEB_SEARCH
一起使用的可选布尔值,用于指示是否仅针对用户的语音触发网络搜索。 默认值为false,这意味着可以根据用户的语音采取其他类型的操作。
常量值:“android.speech.extra.WEB_SEARCH_ONLY”
String LANGUAGE_MODEL_FREE_FORM
使用基于自由形式语音识别的语言模型。 这是一个用于EXTRA_LANGUAGE_MODEL
的值。
也可以看看:
常量值:“free_form”
String LANGUAGE_MODEL_WEB_SEARCH
使用基于网络搜索条件的语言模型。 这是用于EXTRA_LANGUAGE_MODEL
的值。
也可以看看:
常量值:“web_search”
Intent getVoiceDetailsIntent (Context context)
用 sendOrderedBroadcast(Intent, String, BroadcastReceiver, android.os.Handler, int, String, Bundle)
返回广播意图以从实现语音搜索的包接收详细信息。
这是基于语音搜索指定的值Activity
在DETAILS_META_DATA
,如果没有指定,将返回null。 另外,如果没有选择默认值来解析ACTION_WEB_SEARCH
,则这将返回空值。
如果一个意图被返回并且被触发,一个额外的 Bundle
将被返回给所提供的结果接收器,并且理想地应该包含 EXTRA_LANGUAGE_PREFERENCE
和 EXTRA_SUPPORTED_LANGUAGES
值。
(这些实际提供的内容是否取决于特定的实现方式,建议 Activity
实施 ACTION_WEB_SEARCH
提供此信息,但不是必需的。)
Parameters | |
---|---|
context |
Context : a context object |
Returns | |
---|---|
Intent |
the broadcast intent to fire or null if not available |