|  |  | 
 |  |  | package com.genersoft.iot.vmp.service; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson2.JSONObject; | 
 |  |  | import com.genersoft.iot.vmp.common.StreamInfo; | 
 |  |  | import com.genersoft.iot.vmp.conf.exception.ServiceException; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.Device; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.InviteStreamCallback; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.bean.InviteStreamInfo; | 
 |  |  | import com.genersoft.iot.vmp.gb28181.event.SipSubscribe; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.ZlmHttpHookSubscribe; | 
 |  |  | import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.InviteTimeOutCallback; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.PlayBackCallback; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.ErrorCallback; | 
 |  |  | import com.genersoft.iot.vmp.service.bean.SSRCInfo; | 
 |  |  |  | 
 |  |  | import javax.sip.InvalidArgumentException; | 
 |  |  | 
 |  |  |  */ | 
 |  |  | public interface IPlayService { | 
 |  |  |  | 
 |  |  |     void onPublishHandlerForPlay(MediaServerItem mediaServerItem, JSONObject resonse, String deviceId, String channelId); | 
 |  |  |  | 
 |  |  |     void play(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId, | 
 |  |  |               ZlmHttpHookSubscribe.Event hookEvent, SipSubscribe.Event errorEvent, | 
 |  |  |               InviteTimeOutCallback timeoutCallback); | 
 |  |  |     void play(MediaServerItem mediaServerItem, String deviceId, String channelId, ZlmHttpHookSubscribe.Event event, SipSubscribe.Event errorEvent, Runnable timeoutCallback); | 
 |  |  |     void play(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, Device device, String channelId,boolean isSubStream, | 
 |  |  |               ErrorCallback<Object> callback); | 
 |  |  |     SSRCInfo play(MediaServerItem mediaServerItem, String deviceId, String channelId,boolean isSubStream, ErrorCallback<Object> callback); | 
 |  |  |  | 
 |  |  |     MediaServerItem getNewMediaServerItem(Device device); | 
 |  |  |  | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     MediaServerItem getNewMediaServerItemHasAssist(Device device); | 
 |  |  |  | 
 |  |  |     void onPublishHandlerForDownload(InviteStreamInfo inviteStreamInfo, String deviceId, String channelId, String toString); | 
 |  |  |  | 
 |  |  |     void playBack(String deviceId, String channelId, String startTime, String endTime, InviteStreamCallback infoCallBack, PlayBackCallback playBackCallback); | 
 |  |  |     void playBack(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, String deviceId, String channelId, String startTime, String endTime, InviteStreamCallback infoCallBack, PlayBackCallback hookCallBack); | 
 |  |  |     void playBack(String deviceId, String channelId, String startTime, String endTime, ErrorCallback<Object> callback); | 
 |  |  |     void playBack(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo, String deviceId, String channelId, String startTime, String endTime, ErrorCallback<Object> callback); | 
 |  |  |  | 
 |  |  |     void zlmServerOffline(String mediaServerId); | 
 |  |  |  | 
 |  |  |     void download(String deviceId, String channelId, String startTime, String endTime, int downloadSpeed, InviteStreamCallback infoCallBack, PlayBackCallback playBackCallback); | 
 |  |  |     void download(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo,String deviceId,  String channelId, String startTime, String endTime, int downloadSpeed, InviteStreamCallback infoCallBack, PlayBackCallback hookCallBack); | 
 |  |  |     void download(String deviceId, String channelId, String startTime, String endTime, int downloadSpeed, ErrorCallback<Object> callback); | 
 |  |  |     void download(MediaServerItem mediaServerItem, SSRCInfo ssrcInfo,String deviceId,  String channelId, String startTime, String endTime, int downloadSpeed, ErrorCallback<Object> callback); | 
 |  |  |  | 
 |  |  |     StreamInfo getDownLoadInfo(String deviceId, String channelId, String stream); | 
 |  |  |  | 
 |  |  | 
 |  |  |     void pauseRtp(String streamId) throws ServiceException, InvalidArgumentException, ParseException, SipException; | 
 |  |  |  | 
 |  |  |     void resumeRtp(String streamId) throws ServiceException, InvalidArgumentException, ParseException, SipException; | 
 |  |  |  | 
 |  |  |     void getSnap(String deviceId, String channelId, String fileName,boolean isSubStream, ErrorCallback errorCallback); | 
 |  |  | } |