2012-10-27 106 views
1

我正在嘗試檢測AppleTV是否正在運行。由於它似乎總是可以ping通的,所以我查看了播放背後的AirPlay機制。通過AirPlay在AppleTV上獲取播放狀態獲取/播放狀態

似乎HTTP GET請求/播放狀態應該至少給我關於當前播放的電影/幻燈片/音樂的信息。當在端口3689連接到我的AppleTV併發送相應的請求時,我總是收到一個「400錯誤請求」。

我的要求:

GET /playback-info HTTP/1.1 
Content-Length: 0 
User-Agent: MediaControl/1.0 

服務器響應:

HTTP/1.1 400 Bad Request 
Date: Sat, 27 Oct 2012 00:56:32 GMT 
DAAP-Server: iTunes/11.0d46 (OS X) 
Content-Type: application/x-dmap-tagged 
Content-Length: 0 

沒有任何人有一個想法有什麼不對我的要求,或者有另外一種想法,檢查ATV是否關閉/在線?

回答

0

我很確定/ playback-info請求只能提供有關Airplay會話的播放信息。

另外,您能解釋一下您正在嘗試做什麼嗎? 「亞視是否關閉/在線」是什麼意思?

另外:/回放信息請求通常伴隨着一個X-Apple-Session-ID頭,其中包含一個隨機的會話ID。

+0

我試圖完成的工作是讓我的Windows Home Server保持在線狀態,同時觀看從此服務器上運行的iTunes提供的電影。保持活動通常是通過對網絡上的設備進行ping操作來完成的。這適用於每個在關閉時都不會響應ping請求的設備。與其他設備相比,AppleTV會響應這些請求,因爲您可以通過網絡連接打開它。如果我能確定ATV是否在玩東西,我可以保持服務器的活力。 – Paul

+0

@paul那麼你是說即使iTunes在播放某些東西,/ playback-info也能提供相同的響應嗎? – yydl

+0

是的,即使ATV播放一些音樂,結果也是一樣的。 – Paul