音频焦点_v1.0

焦点管理可以让IVS的判断更加准确,特别是当用户的意图不明确的时候。焦点是在云端上进行管理的。客户端只需要通知IVS哪个接口接管了音频通道的焦点,并在合适的时候,上报空闲时间。这些状态信息,通过Context中的AudioActivityTrackernamespace来上报。

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