details_ys_play.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="renderer" content="webkit">
  7. <title></title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  10. </head>
  11. <script>
  12. </script>
  13. <body>
  14. <!-- 正文开始 -->
  15. <div class="layui-fluid">
  16. <div class="layui-card">
  17. <div class="layui-card-body">
  18. <div id="playWind" style="width: 600px; height: 400px;">
  19. </div>
  20. </div>
  21. </div>
  22. <script src="../../../assets/EZUIKit/ezuikit.js"></script>
  23. <script src="../../../assets/EZUIKit/js/jquery.min.js"></script>
  24. <div class="hint">监控模式与多窗口模式对浏览器版本有要求:Chrome: 55+ Firefox: V55+。</div>
  25. <!--<h2>预览,回放功能示例:</h2>-->
  26. <textarea id="url" placeholder="这里输入ezopen地址" hidden></textarea>
  27. <textarea id="accessToken" placeholder="这里输入accessToken" hidden></textarea>
  28. <!--<div class="btn-container">-->
  29. <!-- <button id="init">初始化播放</button>-->
  30. <!-- <button id="play">播放</button>-->
  31. <!-- <button id="stop">结束</button>-->
  32. <!-- <button id="getOSDTime">获取OSD时间</button>-->
  33. <!-- <button id="openSound">打开声音(默认已经开启)</button>-->
  34. <!-- <button id="closeSound">关闭声音</button>-->
  35. <!-- <button id="capturePicture">视频截图</button>-->
  36. <!-- <button id="startSave">开始录像</button>-->
  37. <!-- <button id="stopSave">停止录像</button>-->
  38. <!-- <button id="enableZoom">开启电子放大</button>-->
  39. <!-- <button id="closeZoom">关闭电子放大</button>-->
  40. <!--</div>-->
  41. <!--<div id="playWind" style="width: 600px; height: 400px;">-->
  42. </div>
  43. <script>
  44. function getUrlParam(name) {
  45. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  46. //如果地址栏中出现中文则进行编码
  47. var r = encodeURI(window.location.search).substr(1).match(reg);
  48. if (r != null) {
  49. //将中文编码的字符重新变成中文
  50. return decodeURI(unescape(r[2]));
  51. }
  52. return null;
  53. }
  54. var ipCameraUrl = getUrlParam("ipCameraUrl");
  55. console.log(ipCameraUrl);
  56. var url = ipCameraUrl.split("_1_")[0];
  57. var accessToken = ipCameraUrl.split("_1_")[1];
  58. $("#url").val(url);
  59. $("#accessToken").val(accessToken);
  60. $(function () {
  61. function handleError(e) {
  62. console.log('捕获到错误', e)
  63. // log(JSON.stringify(e),'error');
  64. //alert(e)
  65. }
  66. function handleSuccess() {
  67. console.log("播放成功回调函数,此处可执行播放成功后续动作");
  68. }
  69. var url = $('#url').val().trim();
  70. var accessToken = $('#accessToken').val().trim();
  71. var decoder = new EZUIKit.EZUIPlayer({
  72. id: 'playWind',
  73. autoplay: true,
  74. url: url,
  75. accessToken: accessToken,
  76. decoderPath: '../../../assets/EZUIKit/',
  77. width: 600,
  78. height: 400,
  79. handleError: handleError,
  80. handleSuccess: handleSuccess,
  81. });
  82. // 这里是打印日志,本例抛出到播放页面
  83. // decoder.on('log', log);
  84. function log(str, className) {
  85. var div = document.createElement('DIV');
  86. div.className = className || 'normal';
  87. div.innerHTML = (new Date()).Format('yyyy-MM-dd hh:mm:ss.S') + JSON.stringify(str);
  88. document.body.appendChild(div);
  89. }
  90. $("#start").click(function () {
  91. function handleError(e) {
  92. console.log('handleError', e)
  93. }
  94. function handleSuccess() {
  95. console.log('handleSuccess')
  96. }
  97. decoder.play({
  98. handleError: handleError,
  99. });
  100. })
  101. $("#stop").click(function () {
  102. /*停止播放方法1*/
  103. // decoder.stop();
  104. /*停止播放方法2 - promise模式*/
  105. var stopPromise = decoder.stop();
  106. stopPromise.then(function () {
  107. console.log("关闭成功,用户执行关闭成功后的操作");
  108. })
  109. })
  110. $("#getOSDTime").click(function () {
  111. var getOSDTimePromise = decoder.getOSDTime();
  112. getOSDTimePromise.then(function (data) {
  113. console.log("getOSDTime success", data)
  114. })
  115. })
  116. $("#openSound").click(function () {
  117. decoder.openSound();
  118. })
  119. $("#closeSound").click(function () {
  120. decoder.closeSound();
  121. })
  122. $("#capturePicture").click(function () {
  123. /*截图方法1*/
  124. // decoder.capturePicture(0,'default');
  125. /*截图方法2*/
  126. var capturePicturePromise = decoder.capturePicture(0, 'default');
  127. capturePicturePromise.then(function (data) {
  128. console.log("截图成功,用户执行关闭成功后的操作", data);
  129. })
  130. })
  131. $("#startSave").click(function () {
  132. // decoder.startSave(0, (new Date().getTime() + 'video'));
  133. /*开始录制方法2*/
  134. var startSavePromise = decoder.startSave(0, (new Date().getTime() + 'video'));
  135. startSavePromise.then(function (data) {
  136. console.log("start save success", startSavePromise)
  137. })
  138. .catch(function (error) {
  139. console.log("start Save error", error)
  140. })
  141. })
  142. $("#stopSave").click(function () {
  143. /*结束录制方法1*/
  144. // decoder.stopSave(0);
  145. /*结束录制方法2*/
  146. var stopSavePromise = decoder.stopSave(0);
  147. stopSavePromise.then(function (data) {
  148. console.log("stop save success", stopSavePromise)
  149. })
  150. .catch(function (error) {
  151. console.log("stop Save error", error)
  152. })
  153. })
  154. $("#play").click(function () {
  155. decoder.play();
  156. })
  157. $("#enableZoom").click(function () {
  158. decoder.enableZoom();
  159. })
  160. $("#closeZoom").click(function () {
  161. decoder.closeZoom();
  162. })
  163. });
  164. // $("#init").click(function () {
  165. // function handleError(e) {
  166. // console.log('捕获到错误', e)
  167. // // log(JSON.stringify(e),'error');
  168. // //alert(e)
  169. // }
  170. // function handleSuccess() {
  171. // console.log("播放成功回调函数,此处可执行播放成功后续动作");
  172. // }
  173. // var url = $('#url').val().trim();
  174. // var accessToken = $('#accessToken').val().trim();
  175. // var decoder = new EZUIKit.EZUIPlayer({
  176. // id: 'playWind',
  177. // autoplay: true,
  178. // url: url,
  179. // accessToken: accessToken,
  180. // decoderPath: '../../../assets/EZUIKit/',
  181. // width: 600,
  182. // height: 400,
  183. // handleError: handleError,
  184. // handleSuccess: handleSuccess,
  185. // });
  186. // // 这里是打印日志,本例抛出到播放页面
  187. // // decoder.on('log', log);
  188. //
  189. // function log(str, className) {
  190. // var div = document.createElement('DIV');
  191. // div.className = className || 'normal';
  192. // div.innerHTML = (new Date()).Format('yyyy-MM-dd hh:mm:ss.S') + JSON.stringify(str);
  193. // document.body.appendChild(div);
  194. // }
  195. //
  196. // $("#start").click(function () {
  197. // function handleError(e) {
  198. // console.log('handleError', e)
  199. // }
  200. //
  201. // function handleSuccess() {
  202. // console.log('handleSuccess')
  203. // }
  204. //
  205. // decoder.play({
  206. // handleError: handleError,
  207. // });
  208. // })
  209. // $("#stop").click(function () {
  210. // /*停止播放方法1*/
  211. // // decoder.stop();
  212. // /*停止播放方法2 - promise模式*/
  213. // var stopPromise = decoder.stop();
  214. // stopPromise.then(function () {
  215. // console.log("关闭成功,用户执行关闭成功后的操作");
  216. // })
  217. // })
  218. // $("#getOSDTime").click(function () {
  219. // var getOSDTimePromise = decoder.getOSDTime();
  220. // getOSDTimePromise.then(function (data) {
  221. // console.log("getOSDTime success", data)
  222. // })
  223. // })
  224. // $("#openSound").click(function () {
  225. // decoder.openSound();
  226. // })
  227. // $("#closeSound").click(function () {
  228. // decoder.closeSound();
  229. // })
  230. // $("#capturePicture").click(function () {
  231. // /*截图方法1*/
  232. // // decoder.capturePicture(0,'default');
  233. // /*截图方法2*/
  234. // var capturePicturePromise = decoder.capturePicture(0, 'default');
  235. // capturePicturePromise.then(function (data) {
  236. // console.log("截图成功,用户执行关闭成功后的操作", data);
  237. // })
  238. // })
  239. // $("#startSave").click(function () {
  240. // // decoder.startSave(0, (new Date().getTime() + 'video'));
  241. // /*开始录制方法2*/
  242. // var startSavePromise = decoder.startSave(0, (new Date().getTime() + 'video'));
  243. // startSavePromise.then(function (data) {
  244. // console.log("start save success", startSavePromise)
  245. // })
  246. // .catch(function (error) {
  247. // console.log("start Save error", error)
  248. // })
  249. // })
  250. // $("#stopSave").click(function () {
  251. // /*结束录制方法1*/
  252. // // decoder.stopSave(0);
  253. // /*结束录制方法2*/
  254. // var stopSavePromise = decoder.stopSave(0);
  255. // stopSavePromise.then(function (data) {
  256. // console.log("stop save success", stopSavePromise)
  257. // })
  258. // .catch(function (error) {
  259. // console.log("stop Save error", error)
  260. // })
  261. // })
  262. // $("#play").click(function () {
  263. // decoder.play();
  264. // })
  265. // $("#enableZoom").click(function () {
  266. // decoder.enableZoom();
  267. // })
  268. // $("#closeZoom").click(function () {
  269. // decoder.closeZoom();
  270. // })
  271. // })
  272. </script>
  273. </body>
  274. </html>