# 音频焦点_v1.0
焦点管理
可以让IVS
的判断更加准确,特别是当用户的意图不明确的时候。焦点是在云端上进行管理的。客户端只需要通知IVS
哪个接口接管了音频通道的焦点,并在合适的时候,上报空闲时间。这些状态信息,通过Context
中的AudioActivityTracker
namespace来上报。
# Capabilities API
要使用AudioActivityTracker
接口,需要在设备能力上报
接口中显示声明。
{
"type": "iFLYOS.Interface",
"interface": "AudioActivityTracker",
"version": "1.0"
}
# AudioActivityTracker Context
这个Context
对象让IVS
知道最后占用了音频通道的是哪个接口。如果通道处于活跃状态,则idleTimeInMilliseconds
为0。如果通道处于非活跃状态,则idleTimeInMilliseconds
表示该通道失去焦点后到现在的时间间隔。
如果一个通道从来没被使用过,那它不应该出现在AudioActivityTracker
Context中。
注意:
idleTimeInMilliseconds
是必填项
{
"header": {
"namespace": "AudioActivityTracker",
"name": "ActivityState"
},
"payload": {
"dialog": {
"interface": "SpeechSysthesizer",
"idleTimeInMilliseconds": 20
},
"alert": {
"interface": "Alerts",
"idleTimeInMilliseconds": 20
},
"content": {
"interface": "AudioPlauer",
"idleTimeInMilliseconds": 30000
}
}
}
Payload 参数
参数 | 说明 | 类型 |
---|---|---|
dialog | 对话通道 | object |
dialog.inteface | 占用对话通道的接口,支持:SpeechSynthesizer | string |
dialog.idleTimeInMilliseconds | 使用完通道到现在的时间间隔 | long |
alert | 提醒通道 | object |
alert.interface | 占用提醒通道的接口,支持:Alerts | string |
alert.idleTimeInMilliseconds | 使用完通道到现在的时间间隔 | long |
content | 内容通道 | object |
content.interface | 占用内容通道的接口,支持:AudioPlayer , Bluetooth | string |
content.idleTimeInMilliseconds | 使用完通道到现在的时间间隔 | long |
communications | 通话通道 | object |
communications.inteface | 占用通话通道的接口,支持:VoWifiApp | string |
communications.idleTimeInMilliseconds | 使用完通道到现在的时间间隔 | long |