//package com.whyc.listener; // //import com.whyc.constant.YamlProperties; //import com.whyc.dto.Response; //import com.whyc.service.VideoService; //import org.springframework.beans.factory.annotation.Autowired; // //import javax.servlet.ServletContext; //import javax.servlet.ServletContextEvent; //import javax.servlet.ServletContextListener; //import javax.servlet.annotation.WebListener; //import java.util.List; // //import static java.lang.Thread.sleep; // ///** // * 应用启动时初始化 // * 应用关闭时销毁 // */ //@WebListener //public class ApplicationListener implements ServletContextListener { // // @Autowired // private VideoService videoService; // // /** // * 1.初始化,开启视频流并启动录像存储 // * @param servletContextEvent // */ // @Override // public void contextInitialized(ServletContextEvent servletContextEvent) { // ServletContext application = servletContextEvent.getServletContext(); // //考虑意外情况:突然程序死机或者电脑断电重启,需要延时启动录像,因为视频推流服务还未完成. // try { // //延时20s // sleep(20000); // } catch (InterruptedException e) { // throw new RuntimeException(e); // } // // // //1.录像存储 // //获取所有的流id // List videoStreamIds = YamlProperties.videoStreamIds; // //开启录像存储 // videoStreamIds.forEach(streamId -> { // //添加流 // Response response = videoService.addStreamProxy(streamId); // // //判断是否在录像,不在的话,开启录像 // // Response response2 = videoService.startRecord(streamId); // if(!(response2.getCode() ==1 && ((boolean) response2.getData()))){ // System.out.println("流id为:"+streamId+"的信息:"+response2.getMsg()); // }else{ // System.out.println("流id为:"+streamId+"的信息:"+response2.getData()); // } // }); // // } // // @Override // public void contextDestroyed(ServletContextEvent servletContextEvent) { // //关闭所有流 // //videoService.closeStreams(); // } //}