无论返回的间隔为

时间:2015-07-17 14:26:52

标签: sonos

我使用了一些额外的逻辑来绕过这个问题,但我注意到reportPlaySeconds被调用,无论我返回的是interval值。

Result documentation州:

  

interval string(128) - 下次报告之前经过的秒数。注意:值为0表示应该在开始播放该曲目后不报告。

这是一个示例请求请求:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sonos.com/Services/1.1">
<SOAP-ENV:Header>
    <ns1:credentials>
        <ns1:deviceId>00-01-02-0A-0B-0C</ns1:deviceId>
        <ns1:deviceProvider>Sonos</ns1:deviceProvider>
        <ns1:sessionId>303-TEMP</ns1:sessionId>
    </ns1:credentials>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
    <ns1:reportPlaySeconds>
        <ns1:id>track_id</ns1:id>
        <ns1:seconds>0</ns1:seconds>
    </ns1:reportPlaySeconds>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

回复:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sonos.com/Services/1.1">
<SOAP-ENV:Body>
    <ns1:reportPlaySecondsResponse>
        <ns1:reportPlaySecondsResult>
            <ns1:interval>0</ns1:interval>
        </ns1:reportPlaySecondsResult>
    </ns1:reportPlaySecondsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

如果我已正确理解文档,则返回 <ns1:interval>0</ns1:interval> 表示reportPlaySeconds不应再次调用。我还使用setPlayedSeconds来计算更精细的报告,因此不需要额外的reportPlaySeconds次调用。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

虽然文档确实声明您(提供者)可以通过返回interval中的reportPlaySecondsResult来更改报告间隔,但是从最新版本(版本5.4,Build 29.5-91030,2015年7月13日发布。)

如您所见,无论reportPlaySecondsResult中返回的值是什么,播放器都会继续报告固定的时间间隔。

我已经与文档团队打开了一张机票,以便进行更新。