ConversationalAgentSession 类

定义

数字助手与 Windows 对话代理平台之间的信道。

public ref class ConversationalAgentSession sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 524288)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ConversationalAgentSession final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 524288)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ConversationalAgentSession : System.IDisposable
Public NotInheritable Class ConversationalAgentSession
Implements IDisposable
继承
Object Platform::Object IInspectable ConversationalAgentSession
属性
实现

Windows 要求

设备系列
Windows 10, version 1903 (在 10.0.18362.0 中引入)
API contract
Windows.Foundation.UniversalApiContract (在 v8.0 中引入)

注解

在识别“你好小娜”或“Alexa”等关键字 (keyword) 话语时,通常通过语音激活创建 ConversationalAgentSession。

可通过各种其他方式创建 ConversationalAgentSession,包括当通过耳机或麦克风) 传输关键字 (keyword) 话语时的蓝牙 (、系统键盘加速器 ((如 Win+C for Cortana) )以及从应用内启动语音交互 (可能通过某种按讲 UI) 。

属性

AgentState

获取数字助手的状态。

IsIndicatorLightAvailable

获取指示灯是否可用。

IsInterrupted

获取 ConversationalAgentSession 是否被中断。

IsInterruptible

获取 ConversationalAgentSession 是否可以中断。

IsScreenAvailable

获取屏幕是否可以打开。

IsUserAuthenticated

获取用户是否 (进行身份验证,例如,设备) 锁定。

IsVoiceActivationAvailable

获取数字助手是否可以通过语音输入激活。

Signal

激活数字助手的信号,例如关键字 (keyword) 言语、蓝牙传输、系统键盘加速器、应用内语音识别或其他声音 (门击、烟雾检测器) 。

方法

Close()

终止 ConversationalAgentSession

CreateAudioDeviceInputNode(AudioGraph)

同步创建音频图输入节点。

重要

为了避免可能的并发问题,建议改用 CreateAudioDeviceInputNodeAsync

CreateAudioDeviceInputNodeAsync(AudioGraph)

异步创建音频图输入节点。

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

GetAudioCaptureDeviceId()

同步检索当前语音输入设备的设备 ID。

重要

为了避免可能的并发问题,建议改用 GetAudioCaptureDeviceIdAsync

GetAudioCaptureDeviceIdAsync()

异步检索当前语音输入设备的设备 ID。

GetAudioClient()

同步检索 IAudioClient 对象,该对象在应用程序和音频呈现设备之间创建和初始化音频流。

重要

为了避免可能的并发问题,建议改用 GetAudioClientAsync

GetAudioClientAsync()

异步检索 IAudioClient 对象,该对象在应用程序和音频呈现设备之间创建和初始化音频流。

GetAudioRenderDeviceId()

同步检索当前语音输出设备的设备 ID。

重要

为了避免可能的并发问题,建议改用 GetAudioRenderDeviceIdAsync

GetAudioRenderDeviceIdAsync()

异步检索当前语音输出设备的设备 ID。

GetCurrentSessionAsync()

异步检索对当前 ConversationalAgentSession 的引用。

GetCurrentSessionSync()

同步检索对当前 ConversationalAgentSession 的引用。

重要

为了避免可能的并发问题,建议改用 GetCurrentSessionAsync

GetMissingPrerequisites()

获取缺少的先决条件,这些先决条件是语音激活可用且正常运行所必需的。

GetMissingPrerequisitesAsync()

获取语音激活可用且正常运行的缺失先决条件。

GetSignalModelId()

检索激活会话代理的 Signal 的唯一模型标识符。

重要

为了避免可能的并发问题,建议改用 GetSignalModelIdAsync

GetSignalModelIdAsync()

异步检索激活会话代理的 Signal 的唯一模型标识符。

GetSupportedSignalModelIds()

检索对话代理支持的唯一 Signal 模型标识符的集合。

重要

为了避免可能的并发问题,建议改用 GetSupportedSignalModelIdsAsync

GetSupportedSignalModelIdsAsync()

异步检索会话代理支持的唯一 Signal 模型标识符的集合。

RequestActivation(ConversationalAgentActivationKind)

请求将数字助手激活到前台。

RequestActivationAsync(ConversationalAgentActivationKind)

异步请求将数字助手激活到前台。

RequestAgentStateChange(ConversationalAgentState)

同步请求当前 ConversationalAgentSession 的状态更改。

重要

为了避免可能的并发问题,建议改用 RequestAgentStateChangeAsync

RequestAgentStateChangeAsync(ConversationalAgentState)

异步请求当前 ConversationalAgentSession 的状态更改。

RequestForegroundActivation()

同步请求将数字助手激活到前台。

重要

为了避免可能的并发问题,建议改用 RequestForegroundActivationAsync

RequestForegroundActivationAsync()

异步请求将数字助手激活到前台。

RequestInterruptible(Boolean)

如果检测到另一个数字助手关键字 (keyword) ,则同步请求此 ConversationalAgentSession 可中断。

重要

为了避免可能的并发问题,建议改用 RequestInterruptibleAsync

RequestInterruptibleAsync(Boolean)

如果检测到另一个数字助手关键字 (keyword) ,则异步请求此 ConversationalAgentSession 可中断。

SetSignalModelId(UInt32)

为表示会话代理的激活音频信号的模型分配唯一标识符。

重要

为了避免可能的并发问题,建议改用 SetSignalModelIdAsync

SetSignalModelIdAsync(UInt32)

向表示会话代理的激活音频信号的模型异步分配唯一标识符。

SetSupportLockScreenActivation(Boolean)

启用或禁用对会话代理的锁屏激活的支持。

SetSupportLockScreenActivationAsync(Boolean)

异步启用或禁用对会话代理的锁屏激活的支持。

事件

SessionInterrupted

检测到另一个数字助手激活信号时发生。

SignalDetected

检测到用于激活数字助手的信号时发生。

SystemStateChanged

当系统或用户更改限制数字助手执行一个或多个操作能力的设置时发生。

适用于