package com.guo.duoduo.airplayreceiver.constant; /** * Created by guo.duoduo on 2015/8/24. */ public class Constant { public static final String Need_sendReverse = "SendReverse"; public static final String ReverseMsg = "ReverseMsg"; public static final String PlayURL = "playUrl"; public static final String Start_Pos = "startPos"; public static String getServerInfoResponse(String mac) { return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\r\n" + "<plist version=\"1.0\">\r\n" + "<dict>\r\n" + "<key>deviceid</key>\r\n" + "<string>" + mac + "</string>\r\n" + "<key>features</key>\r\n" + "<integer>10623</integer>\r\n" + "<key>model</key>\r\n" + "<string>AppleTV2,1</string>\r\n" + "<key>protovers</key>\r\n" + "<string>1.0</string>\r\n" + "<key>srcvers</key>\r\n" + "<string>130.14</string>\r\n" + "</dict>\r\n" + "</plist>"; } /** * 服务器发送给客户端的event * * @param type 0 图片,1视频 * @param sessionId * @param state * @return */ public static String getStopEventMsg(int type, String sessionId, String state) { String category = ""; String bodyStr = ""; if (type == 0) { category = "photo"; bodyStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>" + category + "</string>\n" + "<key>sessionID</key>\n" + "<integer>1</integer>\n" + "<key>reason</key>\n" + "<string>ended</string>\n" + "<key>state</key>\n" + "<string>" + state + "</string>\n" + "</dict>\n" + "</plist>\n"; } else if (type == 1) { category = "video"; bodyStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>" + category + "</string>\n" + "<key>reason</key>\n" + "<string>ended</string>\n" + "<key>state</key>\n" + "<string>" + state + "</string>\n" + "</dict>\n" + "</plist>\n"; } String sendMsg = "POST /event HTTP/1.1\r\n" + "X-Apple-Session-ID:" + sessionId + "\r\n" + "Content-Type: text/x-apple-plist+xml\r\n" + "Content-Length:" + bodyStr.length() + "\r\n\r\n" + bodyStr; return sendMsg; } public static String getImageStopEvent() { String bodyStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>photo</string>\n" + "<key>reason</key>\n" + "<string>ended</string>\n" + "<key>state</key>\n" + "<string>stopped</string>\n" + "</dict>\n" + "</plist>\n"; return bodyStr; } public static String getVideoStopEvent() { String bodyStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>video</string>\n" + "<key>reason</key>\n" + "<string>ended</string>\n" + "<key>state</key>\n" + "<string>stopped</string>\n" + "</dict>\n" + "</plist>\n"; return bodyStr; } public static String getVideoEvent(String state) { return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>video</string>\n" + "<key>state</key>\n" + "<string>" + state + "</string>\n" + "</dict>\n" + "</plist>\n"; } public static String getVideoEventMsg(String sessionId, String state) { String category = "video"; String bodyStr = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>category</key>\n" + "<string>" + category + "</string>\n" + "<key>state</key>\n"; String sendMsg = "POST /event HTTP/1.1\r\n" + "X-Apple-Session-ID:" + sessionId + "\r\n" + "Content-Type: text/x-apple-plist+xml\r\n" + "Content-Length:" + bodyStr.length() + "\r\n\r\n" + bodyStr; return sendMsg; } public static String getPlaybackInfo(float duration, float cacheDuration, float curPos, int playing) { String info = "<?xml version=\"1.0\" encoding=\"UTF-8\"?> \n" + "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" " + "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + "<plist version=\"1.0\">\n" + "<dict>\n" + "<key>duration</key>\n" + "<real>" + duration + "</real>\n" + "<key>loadedTimeRanges</key>\n" + "<array>\n" + " <dict>\n" + " <key>duration</key>\n" + " <real>" + cacheDuration + "</real>\n" + " <key>start</key>\n" + " <real>0.0</real>\n" + " </dict>\n" + "</array>\n" + "<key>playbackBufferEmpty</key>\n" + "<true/>\n" + "<key>playbackBufferFull</key>\n" + "<false/>\n" + "<key>playbackLikelyToKeepUp</key>\n" + "<true/>\n" + "<key>position</key>\n" + "<real>" + curPos + "</real>\n" + "<key>rate</key>\n" + "<real>" + playing + "</real>\n" + "<key>readyToPlay</key>" + "<true/>\n" + "<key>seekableTimeRanges</key>\n" + "<array>\n" + " <dict>\n" + " <key>duration</key>\n" + " <real>" + duration + "</real>\n" + " <key>start</key>\n" + " <real>0.0</real>\n" + " </dict>\n" + "</array>\n" + "</dict>\n" + "</plist>\n"; return info; } public interface Register { public static final int FAIL = -1; public static final int OK = 0; } public interface Msg { public static final int Msg_Photo = 1; public static final int Msg_Stop = 2; public static final int Msg_Video_Play = 3; public static final int Msg_Video_Seek = 4; public static final int Msg_Video_Pause = 5; public static final int Msg_Video_Resume = 6; } public interface Target { public static final String REVERSE = "/reverse"; public static final String PHOTO = "/photo"; public static final String SERVER_INFO = "/server-info"; public static final String STOP = "/stop"; public static final String PLAY = "/play"; public static final String SCRUB = "/scrub"; public static final String RATE = "/rate"; public static final String PLAYBACK_INFO = "/playback-info"; public static final String SLIDER_SHOW = "slideshow-features"; } public interface Status { public static final String Status_play = "playing"; public static final String Status_stop = "stopped"; public static final String Status_pause = "paused"; public static final String Status_load = "loading"; } }