波段1允许设置传感器读数的报告间隔。
现在乐队2看起来只有一个支持的阅读间隔而且无法更改。有谁知道:
到目前为止,作为示例,我有以下代码:
this.bandClient.SensorManager.Altimeter.ReadingChanged += this.OnAltimeterReadingChanged;
//bandClient.SensorManager.Altimeter.ReportingInterval = TimeSpan.FromMilliseconds(1000);
//get a list of available reporting intervals
IEnumerable<TimeSpan> supportedAltimeterReportingIntervals =bandClient.SensorManager.Altimeter.SupportedReportingIntervals;
foreach (var ri in supportedAltimeterReportingIntervals)
{
Debug.WriteLine("Altimeter Reporting Interval is {0}", ri.ToString());
}
这一行:
//bandClient.SensorManager.Altimeter.ReportingInterval = TimeSpan.FromMilliseconds(1000);
返回:
抛出异常:'System.ArgumentOutOfRangeException'中 Microsoft.Band.ni.DLL
支持的报告间隔的枚举,返回:高度计 报告间隔为00:00:00.5000000(仅1个间隔)
答案 0 :(得分:2)
Band上的每个传感器都有自己的一组支持报告间隔(有时只有一个支持的间隔)。在波段1和波段2之间,报告间隔的设置方式和设置方式都没有改变。(波段2添加了新的传感器,例如高度计,在波段1中不存在。)
关于问题#1,您可以在documentation的Microsoft Health development site找到有关每个传感器的信息。 (奇怪的是,他们将高度计列为1Hz,但SDK显然返回2Hz作为报告间隔。)
关于问题#2,您可以使用IBandSensor.ReportingInterval = <TimeSpan>
设置报告时间间隔,其中TimeSpan
是IBandSensor.SupportedReportingIntervals
中的一个值。
在您的示例代码中,您试图将高度计传感器设置为以不支持的间隔报告,这就是您看到异常的原因。